如何指定该类型应该是从Interface继承的类?我试过各种变种但没有意义.
public class CarDal<TCarMark> where TCarMark:class//also tried ICarMark
{
...
private static readonly DataContext Context = new DataContext(ConnectionString);
private Table<ICarMark> _tblCarMarks = Context.GetTable<TCarMark>();//Error is "Cannot convert source type 'Table<TCarMark> to target type Table<ICarMark>'"
...
}
Run Code Online (Sandbox Code Playgroud)
您的约束,特别是结合您引用的两种形式,很好:
where TCarMark : class, ICarMark
Run Code Online (Sandbox Code Playgroud)
问题是差异.
A Table<TCarMark>与a没有协变/逆变关系Table<ICarMark>
你必须使用Table<TCarMark>这个类:
private Table<TCarMark> _tblCarMarks = Context.GetTable<TCarMark>();
// emphasis: ^^^
Run Code Online (Sandbox Code Playgroud)
然而!不要使用静态数据上下文:
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |