我正在尝试从委托数组调用委托函数。我已经能够创建委托数组,但是如何调用委托呢?
public delegate void pd();
public static class MyClass
{
static void p1()
{
//...
}
static void p2 ()
{
//...
}
//...
static pd[] delegates = new pd[] {
new pd( MyClass.p1 ),
new pd( MyClass.p2)
/* ... */
};
}
public class MainClass
{
static void Main()
{
// Call pd[0]
// Call pd[1]
}
}
EDIT:使用数组的原因是我需要根据需要通过索引调用委托函数。它们不是为了响应事件而运行。我在代码中看到一个严重(愚蠢)错误,因为我尝试使用 pd[] 类型而不是数组(委托)的名称来执行委托函数。
如果它们都是相同的类型,为什么不将它们组合成一个多播委托呢?
static pd delegateInstance = new pd(MyClass.p1) + new pd(MyClass.p2) ...;
...
pd();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)