对比.NET框架版本中的反射调用方法实例

反射调用类型实例的方法在.NET框架中可通过不同方式实现,以下为主要方法解析:

  1. 使用System.Type调用InvokeMember方法
  2. 通过创建一个System.Type对象t,调用InvokeMember来执行类型的实例方法。
  3. 示例代码: csharp String s = (String) t.InvokeMember("ToString", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, null);
  4. 该方法可用来执行实例的ToString等非公开方法。

  5. 使用System.Reflection.MethodInfo的Invoke方法

  6. 通过MethodInfo对象,直接调用实例的特定方法。
  7. 示例代码: csharp MethodInfo msayhello = ht.GetMethod("SayHello"); msayhello.Invoke(obj, null);
  8. 在上述代码中,通过msayhello.Invoke可调用对象objSayHello方法。

在使用反射调用时,需根据具体方法的公开性及绑定选项(如BindingFlags)合理选择调用方式,以确保程序高效执行。

ppt 文件大小:1.42MB