我正在创建从基类继承的类,但是在将通用参数传递给基类的构造方法时遇到问题。是否可以在不使基类通用的情况下做到这一点?
下面的示例不起作用,因为Options<FileDataSource> cannot be converted to Options<DataSource>
。
interface DataSource
{
}
interface FileDataSource : DataSource
{
}
class BaseOptions : Options<DataSource>
{
}
class Options<T> where T : DataSource
{
}
class BaseClass
{
public BaseClass(Options<DataSource> baseOptions)
{
}
}
class FileClass : BaseClass
{
public FileClass(Options<FileDataSource> baseOptions) : base(baseOptions)
{
}
}