Я работаю над проектом Asp.net MVC, и мне интересно, есть ли способ для атрибутов общаться с другими атрибутами.
Например, у меня есть следующие атрибуты
public class SuperLoggerAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//Do something super
}
}
public class NormalLoggerAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//Do something normal ONLY if the super attribute isn't applied
}
}
И у меня есть следующие контроллеры
[NormalLogger]
public class NormalBaseController : Controller
{
}
public class PersonController: NormalBaseController
{
}
[SuperLogger]
public class SuperController: NormalBaseControler
{
}
Итак, я хочу, чтобы мой SuperController использовал SuperLogger и игнорировал NormalLogger (который применялся в базе), а PersonController должен использовать NormalLogger, поскольку"переопределено" SuperLogger.Есть ли способ сделать это?
Спасибо,
Чи