我坚持用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