У меня есть следующий код:
public static void ProcessStep(Action action)
{
//do something here
if (Attribute.IsDefined(action.Method, typeof(LogAttribute)))
{
//do something here [1]
}
action();
//do something here
}
Для простоты использования у меня есть несколько похожих методов, использующих метод выше. Например:
public static void ProcessStep(Action<bool> action)
{
ProcessStep(() => action(true)); //this is only example, don't bother about hardcoded true
}
Но когда я использую второй метод (описанный выше), даже если исходное действие имело атрибут, код [1] не будет выполнен.
Как узнать, является ли метод только оболочкой, а базовый метод содержит атрибут и как получить доступ к этому атрибуту?