zoukankan      html  css  js  c++  java
  • GetType()与Typeof()的区别 举了2个案例

    GetType()与Typeof()区别

    GetType()返回的是对象的类名
    案例1:

    int i = 5;
    Console.WriteLine(i.GetType());//System.Int32
    var x = 127.25m;
    Console.WriteLine(x.GetType());//System.Decimal

    案例2:

    namespace _2011._12._15
    {
    class Program
    {
    static void Main(string[] args)
    {
    Test testone = new Test();
    string s = testone.GetType().ToString();
    Console.WriteLine(s);//_2011._12._15.Test 命名空间的Test类
    }
    }
    class Test
    {
    }
    }



    Typeof()返回的是类名的对象,也可以返回类名,也可以返回特定类内部的方法和字段

    namespace _2011._12._15
    {
    class Program
    {
    static void Main(string[] args)
    {
    Test testone = new Test();
    string s = testone.GetType().ToString();
    Console.WriteLine("GetType():");
    Console.WriteLine(s);//_2011._12._15.Test 命名空间的Test类

    Type type = typeof(Test);
    Console.WriteLine("Typeof():");
    Console.WriteLine(type);//_2011._12._15.Test 命名空间的Test类
    Console.WriteLine();

    MethodInfo[] methodinfo = type.GetMethods();

    Console.WriteLine(methodinfo.GetType());//System.Reflection.MethodInfo[]
    foreach (var i in methodinfo)
    {
    Console.WriteLine(i);//输出Test类的所有方法及继承Object的实例方法
    }
    Console.WriteLine();
    Console.WriteLine();
    Console.WriteLine();
    Console.WriteLine();
    MemberInfo[] memberinfo = type.GetMembers();
    Console.WriteLine(memberinfo.GetType());
    foreach(var i in memberinfo)
    {
    Console.WriteLine(i);//输出Test类字段和System.type类型
    }
    }


    }

    class Test
    {

    private int age;
    public string name;
    public void speaking()
    {
    Console.WriteLine("Welcome to cnblog!");
    }


    public void writing()
    {
    Console.WriteLine("Please writing something!");
    }
    }
    }

    运行结果:

    GetType():
    _2011._12._15.Test
    Typeof():
    _2011._12._15.Test

    System.Reflection.MethodInfo[]
    Void speaking()
    Void writing()
    System.Type GetType()
    System.String ToString()
    Boolean Equals(System.Object)
    Int32 GetHashCode()




    System.Reflection.MemberInfo[]
    Void speaking()
    Void writing()
    System.Type GetType()
    System.String ToString()
    Boolean Equals(System.Object)
    Int32 GetHashCode()
    Void .ctor()
    System.String name




       
       

  • 相关阅读:
    冗余链接-684-并查集
    Chrome浏览器进程
    BFC布局规则
    Front-end 前端优化总结
    Flex弹性布局
    Browse兼容性问题
    组合关系与组合模式
    YUI3组件框架之plugin
    javascript数据类型及转换
    矩阵打印
  • 原文地址:https://www.cnblogs.com/IAmBetter/p/2288990.html
Copyright © 2011-2022 走看看