对比.NET框架版本中的反射调用方法实例
反射调用类型实例的方法在.NET框架中可通过不同方式实现,以下为主要方法解析:
- 使用
System.Type
调用InvokeMember方法 - 通过创建一个
System.Type
对象t
,调用InvokeMember
来执行类型的实例方法。 - 示例代码:
csharp String s = (String) t.InvokeMember("ToString", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, null);
-
该方法可用来执行实例的
ToString
等非公开方法。 -
使用
System.Reflection.MethodInfo
的Invoke方法 - 通过
MethodInfo
对象,直接调用实例的特定方法。 - 示例代码:
csharp MethodInfo msayhello = ht.GetMethod("SayHello"); msayhello.Invoke(obj, null);
- 在上述代码中,通过
msayhello.Invoke
可调用对象obj
的SayHello
方法。
在使用反射调用时,需根据具体方法的公开性及绑定选项(如BindingFlags
)合理选择调用方式,以确保程序高效执行。
1.42MB
文件大小:
评论区