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