Jak omówiono here, C# nie obsługuje ogólnej deklaracji atrybutu. Więc nie wolno mi zrobić coś takiego:Obejście ograniczania atrybutów ogólnych C#
[Audit<User> (UserAction.Update)]
public ActionResult SomeMethod(int id){ ...
że będzie pasował jak czar w moim atrybutu klasy IMPL, bo trzeba wywołać metodę z rodzajowe repozytorium:
User fuuObj = (User) repository.LoadById<T>(_id);
Próbowałem użyć rozwiązania this bez powodzenia. Mogę przekazać coś w stylu: typeOf(User)
, ale jak mogę zadzwonić pod numer LoadById
tylko za pomocą typu lub magicznego ciągu?
* Zarówno T, jak i Użytkownik rozszerzają klasę podstawową o nazwie Entity.
można napisać różne atrybuty dla każdego rodzaju? –
Czy potrzebujesz określonej klasy, czy też wystarczy Ci Jednostka? – Bas
@Daniel, tak ... ale ja wolę centralnie wszystkie procesy dźwiękowe i unikać maksymalnego możliwego przyszłego kodu w tym kontekście. – Custodio