(entlib 4 のポリシー インジェクション アプリケーション ブロックを使用して) クラスに適用されたカスタム ハンドラーがあり、Invoke が呼び出されたときに入力メソッドがプロパティであるかどうかを知りたいです。以下は、私のハンドラーがどのように見えるかです。
[ConfigurationElementType(typeof(MyCustomHandlerData))]
public class MyCustomHandler : ICallHandler
{
public IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext)
{
if (input.MethodBase.IsPublic && (input.MethodBase.Name.Contains("get_") || input.MethodBase.Name.Contains("set_")))
{
Console.WriteLine("MyCustomHandler Invoke called with input of {0}", input.MethodBase.Name);
}
return getNext().Invoke(input, getNext);
}
public int Order { get; set; }
}
コード サンプルからわかるように、これまでに考えた最善の方法は、メソッド名を解析することです。これを行うより良い方法はありませんか?