我有以下课程:
public class DataInterop <T> where T : ITableAdapter
{
private ITableAdapter tableAdapter;
public DataInterop(T tableAdapter)
{
this.tableAdapter = tableAdapter;
}
}
在ITableAdapter-Interface中定义的方法如Read(),Write(...),Update(...),Delete(...),...
现在我希望Class DataInterop拥有ITableAdapter接口的所有方法。
泛型类是否可以从接口继承?
答案 0 :(得分:3)
您只需在: ITableAdaper
DataInterop<T>
即可
public class DataInterop<T>: ITableAdapter where T: ITableAdapter
{
private ITableAdapter tableAdapter;
public DataInterop(T tableAdapter)
{
this.tableAdapter = tableAdapter;
}
}
(看起来您正在实施Adapter Pattern
或Decorator Pattern
。)
答案 1 :(得分:2)
是的,这是可能的,当你在不知道运行时的具体类型的情况下处理类的实例时,它尤其有用。
语法为:
public class DataInterop <T> : ITableAdapter where T : ITableAdapter
答案 2 :(得分:1)
你可以。样本布局 -
public interface IBar
{
string Name { get; set; }
}
public class Foo<T> : IBar
{
public string Name { get; set; }
}