我堅持用C#語法問題減少泛型類聲明
我想提取我的代碼一點點,我去類似的東西:
public abstract class DMO<TDao ,TExtender>
where TDao : Dao
where TExtender : Extender<TDao>
{
abstract Dictionary<TExtender, PropertyInfo> Properties { get; set; }
....
}
只是因爲如果我做到這一點
public abstract class DMO<TDao>
where TDao : Dao
{
abstract Dictionary<Extender<TDao>, PropertyInfo> Properties { get; set; }
....
}
我不能夠使用派生的Extender<TDao>
是否有NY方法,使簡單的(我堅持使用.NET 3.5,所以我覺得我不能使用該協)
感謝
我不完全確定你要在這裏實現什麼。也許對你想要解決的問題有一些闡述? – rossipedia 2013-03-14 02:55:34
問題是關於降低類的複雜性,通過減少通用參數的數量,我有一些問題,理解爲什麼我需要TExender在這裏,考慮到比Textender只是一個擴展器,但經過一些esearch它可能只是一個框架限制,可以通過解決使用協變泛型(但只適用於.net 4.0) –
guillaume
2013-03-14 03:16:12
您確定您不能在字典中使用Extender的派生類嗎?我認爲你的第二個案例足夠好,應該運行良好 –
Fendy
2013-03-14 03:29:52