c# – 代理数组

前端之家收集整理的这篇文章主要介绍了c# – 代理数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试从委托数组调用委托函数.我已经能够创建代理数组,但是如何调用委托?
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]
    }
}

编辑:数组的原因是我需要根据需要通过索引调用委托函数.他们不是为了回应事件而运行.我在我的代码中看到一个关键的(愚蠢的)错误,因为我试图使用pd []类型而不是数组的名称(委托)来执行委托函数.

解决方法

如果它们是一样的,那么为什么不把它们组合成一个单播多播代理?
static pd delegateInstance = new pd(MyClass.p1) + new pd(MyClass.p2) ...;

...
pd();

猜你在找的C#相关文章