在泛型派生的类的集合中使用泛型基类

排名第四

我从Java进入C#,却无法找到解决以下问题的方法:

我有一个通用的基类:

class MyBase<T>  where T : SomeAncestorOfTs
{ ... }

然后几个专业类(ABC...)从它派生,如:

class A : MyBase<SomeSpecificT> 
{ ... }

现在,在我的代码中的某个地方,我想创建一个Dictionary的各种后代MyBase:,例如Dictionary<string,MyBase<>>,但是不起作用。

除了做以外,C#中还有其他方法Dictionary<String,Object>吗?

在Java中,这样做很容易实现HashMap<String,MyBase<? extends SomeAncestorOfTs>>

UPDATET应该具有一个公共基类(SomeAncestorOfT)。

克里斯

不能直接那样做。我的建议是添加另一个非通用基类:

class MyBase
{ ... }

class MyBase<T> : MyBase
{ ... }

然后制作该基数的字典: Dictionary<string,MyBase>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在泛型派生的类的集合中使用泛型基类

来自分类Dev

从泛型类派生

来自分类Dev

在C#中的基类中使用泛型:如何确保基类中的方法返回派生类的类型?

来自分类Dev

泛型类使用泛型参数

来自分类Dev

扩展集合泛型类的泛型类

来自分类Dev

在泛型类中使用匿名类型

来自分类Dev

在类构造函数中使用泛型

来自分类Dev

在泛型类中使用函子

来自分类Dev

何时在 TypeScript 中使用泛型类?

来自分类Dev

如何为泛型类指定泛型集合类型?

来自分类Dev

从泛型类派生的c#问题

来自分类Dev

如何使用泛型返回泛型类的类类型?

来自分类Dev

通过派生类型使用反射调用泛型基类上的方法

来自分类Dev

如何在C#中的泛型类中使用泛型类的对象?

来自分类Dev

使用泛型类中的ArrayList实现集合

来自分类Dev

什么是泛型类

来自分类Dev

类的Dlang泛型

来自分类Dev

什么是泛型类

来自分类Dev

类的Dlang泛型

来自分类Dev

泛型类等于

来自分类Dev

补充泛型类

来自分类Dev

检查泛型类

来自分类Dev

泛型和继承:将泛型与基类及其子类一起使用

来自分类Dev

泛型-使用父类在泛型中指定类型

来自分类Dev

嵌套在泛型中的类的泛型使用

来自分类Dev

使用非泛型类注册泛型接口

来自分类Dev

基类使用泛型时如何隐藏成员函数

来自分类Dev

如何在非泛型静态类的多个方法中使用相同的泛型类型

来自分类Dev

从泛型类调用泛型EventHandler