定义一个接受泛型类的任何实现的集合

时间:2013-04-09 18:46:41

标签: c# generics

我有一个通用的抽象类Plot<T>。如何定义一个接受任何抽象类实现的集合?我尝试了以下方法但没有成功:

public List<Plot<object>> Plots = new List<Plot<object>>();

public List<Plot<dynamic>> Plots = new List<Plot<dynamic>>();

感谢。

1 个答案:

答案 0 :(得分:8)

这样的情况通常要求创建非泛型基类,泛型类从中派生出来:

public abstract class Plot
{
    // Put anything which doesn't need T here
}

public class Plot<T> : Plot
{
}

然后您可以创建List<Plot>