C# 反射基本使用

C#反射是动态调用程序集的一种强大技术。使用反射技术,您可以在运行时获取程序集元数据,并在应用程序中调用属性、方法或构造函数等成员,甚至可以使用其它程序集的对象。以下是基本的C#反射使用方法:

  1. 获取程序集

使用System.Reflection命名空间中的Assembly类,可以在应用程序中加载和获取程序集。以下代码演示了如何获取程序集。

 

Assembly assembly = Assembly.LoadFile(@"C:\Sample.dll"); // 加载程序集

2.获取类型

获取程序集之后,您可以使用Assembly类的GetType方法获取类型信息。以下代码演示了如何获取类型。

 

Type type = assembly.GetType("Sample.ClassName"); // 从程序集中获取类型信息

3.获取成员

获取类型信息之后,您可以使用Type类的GetField、GetProperty、GetMethod等方法获取字段、属性和方法等成员。以下代码演示了如何获取成员。

 

FieldInfo field = type.GetField("FieldName"); // 获取字段信息

PropertyInfo property = type.GetProperty("PropertyName"); // 获取属性信息

MethodInfo method = type.GetMethod("MethodName"); // 获取方法信息

4.调用成员

获取成员之后,您可以使用MethodInfo类的Invoke方法调用方法。以下代码演示了如何调用方法。

 

object instance = Activator.CreateInstance(type); // 创建对象实例

object result = method.Invoke(instance, new object[] { param1, param2 }); // 调用方法并获取返回值

反射功能强大,可以实现很多复杂的任务。但是,请注意,反射的性能比直接调用代码要低,因此应该谨慎使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值