Je code suivant:Accès attribut de méthode enveloppé dans C#
public static void ProcessStep(Action action)
{
//do something here
if (Attribute.IsDefined(action.Method, typeof(LogAttribute)))
{
//do something here [1]
}
action();
//do something here
}
Pour une utilisation facile, j'ai quelques méthodes similaires en utilisant la méthode ci-dessus. Par exemple:
public static void ProcessStep(Action<bool> action)
{
ProcessStep(() => action(true)); //this is only example, don't bother about hardcoded true
}
Mais quand j'utilise la deuxième méthode (celle ci-dessus), même si l'attribut avait une action originale, le code [1] ne sera pas exécuté.
Comment puis-je savoir si la méthode est uniquement wrapper et si la méthode sous-jacente contient un attribut et comment accéder à cet attribut?
Il est une autre situation quand je n'ai pas pensé solution assez évidente :) Merci :) Malheureusement, j'ai plus de méthodes similaires comme ProcessStep, ProcessStep, ProcessStep + TParams, et le code semble laid maintenant, donc je vais trouver une solution sans cet attribut. –
prostynick