是否可以在同一名称空间中包含以下两个类?因为编译器向我抛出错误:
public abstract class EPiPresenter<TView, TPageDataType> : Presenter<TView>
where TView : class, IView
where TPageDataType : PageData
{
}
public abstract class EPiPresenter<TView, TDataType> : Presenter<TView>
where TView : class, IView
where TDataType : CatalogContentBase
{
}
PageData和CatalogContentBase没有任何继承关系。
答案 0 :(得分:2)
不,这是不可能的,因为只有类型参数的数字才算。 CLR类型名称(由Type.FullName
返回)实际上看起来像
Namespace.TypeName`2
其中2
是类型参数的数量(并且重音字符不是拼写错误)。
答案 1 :(得分:1)
不,那是不可能的。引用MSDN:
类的完全限定名称是通过连接构造的 包含类型
的所有名称空间的名称
编辑:感谢usr注意到。 MSDN并不完全准确。类型参数的数量也包括在内。
class GenericType1<TType1>
被翻译为
GenericType1`1
和class GenericType2<TType1, TType2>
被翻译为
GenericType2`2