【发布时间】:2012-09-11 15:59:44
【问题描述】:
我将程序集动态加载为:
var assembly = Assembly.LoadFile("PathOFMyDll");
无论如何,该程序集在类DynamicClass 中都有静态方法Filter。因此,一旦我拥有该程序集,我就会执行该方法:
var filter = assembly.GetType("DyamicClass").GetMethod("Filter");
// that method accepts a object as parameter
filter.Invoke(null, new object[] { "test" });
现在我的问题是:
我有委托 delegate bool FilterDelegate(object item); 为什么不可能让该类型的委托指向该方法以便拥有:
FilterDelegate myPointerToMethodFilter = (FilterDelegate)assembly.GetType("DyamicClass").GetMethod("Filter");
bool result = myPointerToMethodFilter("test");
注意编译器只会在尝试编译时报错。我没有收到任何语法错误。
【问题讨论】:
标签: c# reflection delegates