正如討論的here,C#不支持通用屬性聲明。 所以,我不能做這樣的事情:C#通用屬性限制的解決方法
[Audit<User> (UserAction.Update)]
public ActionResult SomeMethod(int id){ ...
,將適合像我的屬性實現類魅力,因爲我需要從一個通用存儲庫調用一個方法:
User fuuObj = (User) repository.LoadById<T>(_id);
我試圖用this解決方案沒有成功。我可以通過像typeOf(User)
這樣的東西,但是我怎樣才能撥打LoadById
只需輸入類型或魔術字符串?
* T和User都擴展名爲Entity的基類。
你能寫對每種類型不同的屬性? – 2012-03-20 14:22:50
您是否需要特定的課程或實體才能使用? – Bas 2012-03-20 14:26:07
@丹尼爾,是的......但我實際上更喜歡中心所有的聽覺過程,並避免在這種情況下最大可能的未來代碼。 – Custodio 2012-03-20 14:28:36