C# 定义接受泛型类的任何实现的集合

C# 定义接受泛型类的任何实现的集合,c#,generics,C#,Generics,我有一个通用的抽象类图。如何定义一个接受抽象类的任何实现的集合?我尝试了以下方法,但没有成功: 公共列表图=新列表 公共列表图=新列表 谢谢。像这样的情况通常需要创建一个非泛型基类,泛型类从中派生: public abstract class Plot { // Put anything which doesn't need T here } public class Plot<T> : Plot { } 然后您可以创建一个列表。像这样的情况通常需要创建一个非泛型基类,泛

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

公共列表图=新列表

公共列表图=新列表


谢谢。

像这样的情况通常需要创建一个非泛型基类,泛型类从中派生:

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

public class Plot<T> : Plot
{
}

然后您可以创建一个列表。

像这样的情况通常需要创建一个非泛型基类,泛型类从中派生:

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

public class Plot<T> : Plot
{
}

然后你可以创建一个列表。

class PlotList:List{}你不能创建这个集合,因为C中的泛型是在编译时定义的。class PlotList:List{}你不能创建这个集合,因为C中的泛型是在编译时定义的。我自己在我完成的许多项目中都使用过这种技术。我在Tim McCarthy的《领域驱动设计》一书中首次发现了这一点。我自己也在我做过的许多项目中使用过这种技术。我在Tim McCarthy的《领域驱动设计》一书中首次发现了这一点。