是否可以有一份代表名单?

时间:2014-06-05 13:37:16

标签: c# collections delegates

是否可以做这样的事情?

System.Collections.Generic.Queue<delegate> methods;

目前我正在这样做......

public delegate void Method();

System.Collections.Generic.Queue<Method> methods;

但是,这只允许我将与委托签名匹配的方法排入队列。我希望能够将具有任何签名的方法放入队列中,或者至少能够使用具有不同参数的方法。例如,我希望能够做到这样的事情......

methods.Enqueue(MethodOne);
methods.Enqueue(MethodTwo(int parameter)); //This won't work like this, since 'void' will be enqueued instead of the method.

这样的事情可能吗?

1 个答案:

答案 0 :(得分:3)

这是可能的:

    List<Delegate> list = new List<Delegate>();
    list.Add(new Action(() => Console.WriteLine("Hello world")));

但直接添加lambda表达式似乎不起作用。