C#中反射:Reflection

本文详细介绍了C#中的反射机制,包括如何动态获取类型信息、创建对象及访问成员等内容。通过具体的步骤和方法,帮助读者理解反射的工作原理及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**反射:**Reflection
定义
动态获取类型信息,动态创建对象,动态访问成员的过程。

作用
在编译时无法了解类型,在运行时获取类型信息,创建对象,访问成员。
举例说明:
1:在写万能单利模式的时候,由于不确定继承该万能单利的类型,所以用到了(反射)typeof
万能单利模式会在下一页附上。

流程
1.得到数据类型
2.动态创建对象
3查看类型信息(了解本身信息,成员信息)

常用类
1.取得数据类型Type (最常用)
方式一:Type.GetType(“类型全名”);
适合于类型的名称已知
方式二:obj.GetType();
适合于类型名未知,类型未知,存在已有对象
方式三:typeof(类型)
适合于已知类型
方式四:Assembly.Load(“XXX”).GetType(“名字”);
适合于类型在另一个程序集中

Type类常用Get系列方法 Is系列属性。
2.MethodInfo(方法)
重要方法: Invoke
使用时需要引入命名空间using System.Reflection;

3.PropertyInfo(属性)
重要方法:SetValue GetValue
4.FieldInfo(字段)
重要方法:SetValue GetValue
5.ConstructInfo(构造方法)
重要方法:Invoke

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yffgamestart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值