网站首页 极客学院 视频课堂 极客论坛 下载专区 行业新闻 欢迎光临极客研究院,今天是2019-08-24 星期六
会员面板
帐号:
密码:
验证码:
极客学院
教程搜索
输入要搜索的内容:

下载专区
精品教程
   网站首页 > PC开发 > C#开发语言 > C# typeof应用实例详解

C# typeof应用实例详解

很多书本教程讲解typeof 都举类似于下面的例子

Type type = typeof(int);
MessageBox.Show(type.ToString());   // 不过这样没啥意义,本来就知道 是int型的

在应用于类时,typeof就体现出作用了

假定有一个类如下:

class AA
    {
        public void a()
        {
            MessageBox.Show("this is a of AA");
        }
        public void b()
        {
            MessageBox.Show("this is b of AA");
        }
    }

那么如果我要遍历这个类的所有成员函数,可以用下方法

Type type = typeof(AA);
            MessageBox.Show(type.ToString());
            System.Reflection.MethodInfo[] methodInfo = type.GetMethods();
            foreach(System.Reflection.MethodInfo m in methodInfo)
            {
                MessageBox.Show(m.ToString());
            }

教程原创:王颂元  www.kimgeek.com

还有一种情况很常用,根据一个string 型的函数来执行哪一个函数

Type type = typeof(AA);           

string fun_name = "a";  //这是一个string型
 System.Reflection.MethodInfo m= type.GetMethod(fun_name);
  AA a = new AA();

if(m!=null){
  m.Invoke(a,null);   //第二个参数为执行时要传递给a的参数,这里a没有参数为 null

}else{

  MessageBox("没有找到"+fun_name+"方法,请检查");

}

C# 还有一个GetType的函数,很多人容易搞混,建议参考本人另一文章:C# GetType获取变量的类型 http://www.kimgeek.com/article_detail_396.html 

  相关文章
本文标题:C# typeof应用实例详解
对本文有疑问?现在就进入论坛提问>>
 
粤ICP备18090445号