我已经应用了一个自定义处理程序到一个类上(使用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; }
}
从我的代码示例中可以看出,目前我想到的最好的方法是通过解析方法名。是否有更好的方法来做到这一点?