比如我想达到下面这个目的,但下面的语法是错误的,正确的该怎么写?
    Public Sub n(ByVal n As Object)
        Dim n1 As n.gettype()
    End Sub

解决方案 »

  1.   

    这里是C#版, 请发到VB.NET版.
      

  2.   

    晕!又要分什么VB,C#,本是同根生,相煎何太急,其实我不就是想沾沾C#的人气吗
    我现在就改成C#的
    private void n(object n)
    {
    n.GetType() n1;
    }
    传送类型意思就是说我传送的参数是个类型(TYPE)变量,或是随便传送什么对象,通过代码来确定它的类型,再直接定义一个对象为这种类型,再进行相应处理。
    因为我的程序是模访消息的,等于要传送上百种消息类型,用IF语句不太方便,而且效率很低,所以在此问问高手有没有更好的方法,比如用“反射”,但我用不来,请赐教
      

  3.   

    不同的类型有不同的处理方法,当然是要针对不同的类型做不同的处理!!所以还判断类型做相应的处理好一些,有些工夫不能省.
    我这里给个建议你,就不要只写一个函数,针对不同的函数用不同的函数,要知道只要参数类型什么的不同函数名是可以相同的
    void n(string n)
    {}
    void n(int n)
    {}
    void n(long n)
    {}
    这样写你的程序的效率就不会低了!
    我不清楚你这个 
    void n(object n)
    {
    }
    函数是要用来处理什么的,如果是所有的类型都共的的特质的用反射还是可以的!!!
      

  4.   

    做一下强制转换试验一下:
    Public Sub n(ByVal n As Object)
        Dim n1 As ((本来的类型)n).gettype()
    End Sub