C#多方法附加到事件,如何处理返回值?

Pat*_*ins 1 .net events c#-2.0

这是电话:

    bool isValid = true;
    if (this.ExternalConstraint != null)
    {
      isValid &= this.ExternalConstraint(this, EventArgs.Empty);
    }
    if (isValid)
    {
        //...
    }
Run Code Online (Sandbox Code Playgroud)

该活动如下:

public delegate bool externalConstraint(object sender, EventArgs args);
event externalConstraint ExternalConstraint;
Run Code Online (Sandbox Code Playgroud)

在调试时我注意到调用了附加到事件的所有方法,但只有最后一个返回似乎返回到这一行:isValid &= this.ExternalConstraint(this, EventArgs.Empty);.如何让事件返回每个方法或处理所有返回值以做出决定?

jas*_*son 6

您可以Delegate.GetInvocationList在委托上使用并单独处理返回值.