use*_*612 2 c# static delegates
我的问题是我有一个类,其构造函数将System.Delegate对象作为参数,我不知道如何将方法分配给System.Delegate对象.这是我现在的代码
class TestClass
{
Delegate c = TestMetod;
static void TestMetod()
{
MessageBox.Show("it worked !");
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为奇怪的是,System.Delegate是一个非委托类型,如msdna所述.我怎么应该做我需要的,因为不可能"将方法组TestMetod分配给非委托类型'System.Delegate'"
这static方面不是核心问题.您需要一个(任何)委托来捕获TestMethod,然后您可以将其分配给System.Delegate.你可以使用Action这样的中间体.
class TestClass
{
static Action a = TestMetod;
static Delegate c = a;
static void TestMetod()
{
MessageBox.Show("it worked !");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5679 次 |
| 最近记录: |