我有一個應用於類的自定義處理程序(使用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; }
}
正如你從我的代碼示例中看到的,到目前爲止我想到的最好方法是解析方法名稱。沒有更好的方法來做到這一點?