NLogライブラリからSwallow(Func)メソッドを使用する必要があります。 重要な注意:静的メソッドからSwallowを呼び出し、静的メソッドを渡したいとします。C#の関数パラメータとしてSTATICメソッドへの参照を渡すには?
そのドキュメントはここにある:
http://nlog-project.org/documentation/v3.2.1/html/Overload_NLog_Logger_Swallow.htm
最初のケース(Swallow(Action)
)(パラメータの静的メソッドをWO渡し)は簡単に動作します:
static void ParameterlessMethodThatCasts()
{
throw NotImplementedException("Not implemented yet");
}
...
// Code in some method that uses static instance of nLog
nLog.Instance.Swallow(ParameterlessMethodThatCasts);
は残念ながら、ために提供例はありません2番目のケース(Swallow<T>(Func<T>)
)と3番目のケース(Swallow<T>(Func<T>, T)
)です。両方のケースがパラメータ付きのメソッド参照に渡されます。
他にも適切な例はありませんでした。
私は自分自身を試してみました:それらのどちらも
`Object.TypeOf()`
と var t = typeof(MyMethod);
は構文的に正しいです。
代わりに、パラメータ (つまり、上記のリンクの2番目と3番目のオーバーロード)のメソッドに参照を渡すには、どのような構文を使用する必要がありますか?
デリゲートを渡す以外の方法はありますか?
私はデリゲートを作成する必要がありますすることができ、このスレッドで提案されているように、パスしてください: http://stackoverflow.com/questions/2082615/pass-method-as-parameter-using-c-sharp?rq=1 –