C# typeof() 和 GetType()区是什么

1、typeof(x)中的x,必须是具体的类名、类型名称等,不可以是变量名称。 
2、GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof()相同,返回Type类型的当前对象的类型。 

比如有这样一个变量i: 
Int32 i = new Int32(); 

i.GetType()返回值是Int32的类型,但是无法使用typeof(i),因为i是一个变量,如果要使用typeof(),则只能:typeof(Int32),返回的同样是Int32的类型。

 

        Type type = typeof(System.Int32);//获得int类型的Type对象
        foreach (MethodInfo method in type.GetMethods())//遍历string类中定义的所有公共方法
        {
            rtbox_text.AppendText(
                "方法名称:" + method.Name + Environment.NewLine);//输出方法名称
            foreach (ParameterInfo parameter in method.GetParameters())//遍历公共方法中所有参数
            {
                rtbox_text.AppendText(
                    "  参数:" + parameter.Name + Environment.NewLine);//输出参数名称
            }
        }

 

posted @ 2018-01-18 11:56  Perfectionist  阅读(150)  评论(0编辑  收藏  举报