已经尝试解决这个问题很长一段时间了,但没有运气......我的想法是为不同的设置进行某种配置,例如......控制异常的处理方式。
我的一些代码:)
public class ErrorEventArgs : EventArgs
{
public bool Handled { get; set; }
...
...
}
我的主要课程中的一个属性,例如:
EventHandler<ErrorEventArgs> ErrorConfiguration {get; set;}
然后我有一个 OnError,我需要知道 Handled 的值,
internal void OnError(ErrorEventArgs args)
{
Func<EventHandler<ErrorEventArgs>, bool> IsHandled;
IsHandled = ev => ??? // invoke ErrorConfiguration?
if (ErrorConfiguration != null && IsHandled(ErrorConfiguration ))
error(this, args);
}
如何解决?
我可以这样做,如果它是没有 Func 的 EventHandler,但我想封装布尔表达式。为什么我不能链接 lambda... :(
EventHandler<ErrorEventArgs> IsHandled;
IsHandled = (sender, e) => e.ErrorContext.Handled;