Ich habe einen benutzerdefinierten Handler auf eine Klasse angewendet (mit dem Policy Injection Application Block in Entlib 4) und ich würde gerne wissen, ob die Eingabemethode eine Eigenschaft ist, wenn Invoke aufgerufen wird. Folgendes ist, wie mein Handler aussieht.Was ist der beste Weg zu sagen, ob eine Methode eine Eigenschaft aus der Policy Injection ist?
[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; }
}
Wie Sie aus meinem Code-Beispiel sehen können, ist der beste Weg, ich so weit ist gedacht habe durch die Methodennamen Parsen. Gibt es dafür keinen besseren Weg?