かなり長い間これを解決しようとしましたが、運が悪かった...私の考えは、たとえば..例外の処理方法を制御するなど、さまざまな設定に何らかの構成を持たせることでした。
私のコードの一部:)
public class ErrorEventArgs : EventArgs
{
public bool Handled { get; set; }
...
...
}
次のような私のメインクラスのプロパティ:
EventHandler<ErrorEventArgs> ErrorConfiguration {get; set;}
次に、Handled の値を知る必要がある OnError があります。
internal void OnError(ErrorEventArgs args)
{
Func<EventHandler<ErrorEventArgs>, bool> IsHandled;
IsHandled = ev => ??? // invoke ErrorConfiguration?
if (ErrorConfiguration != null && IsHandled(ErrorConfiguration ))
error(this, args);
}
これはどのように解決できますか?
Func のない EventHandler の場合は、このようにすることができますが、ブール式をカプセル化したいと考えています。ラムダをチェーンできないのはなぜですか... :(
EventHandler<ErrorEventArgs> IsHandled;
IsHandled = (sender, e) => e.ErrorContext.Handled;