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

Sof*_*tor 1 c# generics

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

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

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

谢谢.

Jon*_*eet 8

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

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

public class Plot<T> : Plot
{
}
Run Code Online (Sandbox Code Playgroud)

然后你可以创建一个List<Plot>.