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




       
       

  • 相关阅读:
    10.17T1 联通块
    10.16复习 数位DP——不要62
    10.16T6 逆序对变式
    10.16T5 最小环+拆点最短路
    10.16T4 GCD递归
    10.16T2 平方差
    10.16T3 乱搞+最优性剪枝
    10.16T1 二分+单调队列优化DP
    10.15T3 树形DP
    10.15T2 生成树+非树边暴力
  • 原文地址:https://www.cnblogs.com/IAmBetter/p/2288990.html
Copyright © 2011-2022 走看看