Как обсуждено здесь , C # не поддерживает объявление универсального атрибута.
Поэтому я не могу делать что-то вроде:
[Audit<User> (UserAction.Update)]
public ActionResult SomeMethod(int id){ ...
, который подходит как шарм в моем классе impl атрибута, потому что мне нужно вызвать метод из общего репозитория:
User fuuObj = (User) repository.LoadById<T>(_id);
Я пытался использовать это решение, но безуспешно. Я могу передать что-то вроде typeOf(User)
, но как я могу вызвать LoadById
только с типом или магической строкой?
* И T, и Пользователь расширяют базовый класс, называемый Entity.