Ble*_*ped 7 c# reflection methods dynamic .net-4.0
使用.NET-4.0,如何在不使用反射的情况下使用Dynamic来完成以下操作?
public void InvokeMethod(string methodName)
{
Type t = typeof(GCS_WebService);
GCS_WebService reflectOb = new GCS_WebService();
MethodInfo m = t.GetMethod(methodName);
m.Invoke(reflectOb, null);
}
Run Code Online (Sandbox Code Playgroud)
C#中的动态类型没有规定 - 您要访问的成员的名称仍然必须在编译时知道.(你当然可以自己创建一个调用站点,并使用DLR的其他机器来解决问题,但它不会比使用反射更简单,并且它不会真正使用语言功能.)
开源框架,即兴接口有方法的自动化所有使用DLR来解决管道夜已这样.它使用void返回方法比反射快70%.
public void InvokeMethod(string methodName)
{
var reflectOb = new GCS_WebService();
Impromptu.InvokeMemberAction(reflectOb, methodName)
}
Run Code Online (Sandbox Code Playgroud)