0
点赞
收藏
分享

微信扫一扫

C#图解教程(第四版)Chapter24反射和特性-24.3获取Type对象

兮城 2022-03-11 阅读 24
using System;
using System.Reflection;

namespace Chapter24ReflectionAndAttribute_243_GetTypeObject
{
    class Program
    {
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");
            var bc = new BaseClass();
            var dc = new DerivedClass();
            BaseClass[] bca = new BaseClass[] { bc,dc};
            foreach (var v in bca)
            {
                Type t = v.GetType();
                int hs = v.GetHashCode();//得到哈希值
                Console.WriteLine("Object type(Name)is:{0}",t.Name);
                Console.WriteLine("HashCode is:{0}", hs.ToString());
                //Console.WriteLine("Object Assembly is:{0}", t.Assembly);
                // Console.WriteLine("Object Assembly is:{0}", t.);
                FieldInfo[] fi = t.GetFields();
                foreach(var f in fi)
                {
                    Console.WriteLine("Field is:{0}", f.Name);
                    //Console.WriteLine();
                }
                Console.WriteLine();
                FieldInfo finfo = t.GetField("BaseField");
                Console.WriteLine("the info of BaseField is:{0}",finfo.ToString());

            }
        }
    }
    class BaseClass
    {
        public int BaseField = 0;
    }
    class DerivedClass :BaseClass
    {
        public int DerivedField = 0;
    }

}
举报

相关推荐

0 条评论