gpt4 book ai didi

c# - 如何将静态方法分配给 System.Delegate 对象?

转载 作者:行者123 更新时间:2023-12-02 22:05:11 24 4
gpt4 key购买 nike

我的问题是我有一个类,其构造函数将 System.Delegate 对象作为参数,但我不知道如何将方法分配给 System.Delegate 对象。这是我现在的代码

class TestClass
{
Delegate c = TestMetod;
static void TestMetod()
{
MessageBox.Show("it worked !");
}
}

但这不起作用,因为奇怪的是,System.Delegate 是 msdna 所述的非委托(delegate)类型。我应该怎么做我需要的,因为不可能“将方法组 TestMetod 分配给非委托(delegate)类型‘System.Delegate’”

最佳答案

static 方面不是这里的核心问题。您需要一个(任何)委托(delegate)来捕获 TestMethod,然后您可以将其分配给 System.Delegate。您可以使用 Action 作为这样的中间体。

class TestClass
{
static Action a = TestMetod;
static Delegate c = a;
static void TestMetod()
{
MessageBox.Show("it worked !");
}
}

关于c# - 如何将静态方法分配给 System.Delegate 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239922/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com