0

我在 C# 中有一个 Delegate 方法,我必须引用多个函数...委托可以一次指向多个函数吗?如果是,它一次可以指向多少个函数?

4

1 回答 1

1

是的,一个委托可以同时分配给多个对象,当你调用委托时,函数将按照它们被添加的顺序被调用。这称为MulticastDelegate委托

delegate void myDelegate();

void foo()
{
  Console.WriteLine("hello");
}

void bar()
{
  Console.WriteLine("world");
}

void Main()
{
  myDelegate d = foo;
  d+=bar;
  d();
}

生产

hello
world

关于您可以通过这种方式引用的函数的最大数量 - 我找不到任何硬数字,但是一个简单的循环测试允许我添加超过 10,000 次(在我感到无聊并点击“break :) 之前,我foobar可能没有真正的实际限制,但我可能是错的。

于 2013-11-12T15:44:56.690 回答