【发布时间】:2015-04-20 06:03:42
【问题描述】:
我有一个通用基类:
public abstract BaseClass<T> where T: IMyModels {
...
}
还有一个子类:
public class MyFirstsubClass: BaseClass<MyFirstModel> {
...
}
这些是接口和模型:
public interface IMyModel {} // Empty Interface
public MyFirstModel: IMyModel {
// Some automatic properties
}
由于 MyFirstClass 扩展为 BaseClass,其类型正在实现 IMyModel 接口,所以下面的代码必须没问题,但 Visual Studio 显示“无法隐式转换类型”错误,当我进行显式转换时,它说类型不能被显式强制转换。
BaseClass<IMyModel> Temp = new MyFirstsubClass();
这个结构到底有什么问题,我该如何修改它以便修复上述代码的问题?
【问题讨论】:
标签: c# generics inheritance interface hierarchy