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

本文通过C#代码展示了如何使用Reflection API获取不同类型对象的类型信息,包括对象类型名、哈希码,并探索了基类和派生类的字段操作。
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;
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值