【发布时间】:2016-07-01 17:49:00
【问题描述】:
我正在尝试理解委托,所以我只写了一个小尝试项目; 我有D班:
class D
{
private static void Func1(Object o)
{
if (!(o is string)) return;
string s = o as string;
Console.WriteLine("Func1 going to sleep");
Thread.Sleep(1500);
Console.WriteLine("Func1: " + s);
}
}
在主要的即时通讯中使用:
MethodInfo inf = typeof(D).GetMethod("Func1", BindingFlags.NonPublic | BindingFlags.Static);
Delegate d = Delegate.CreateDelegate(typeof(D), inf);
方法信息得到了正确的信息,但是 CreateDelegate 方法抛出了一个异常,比如类型必须从 Delegate 派生。
我该如何解决这个问题?
【问题讨论】:
-
嗯,是的...您只能调用
CreateDelegate来创建委托实例。您希望该代码做什么?