从泛型类中的接口继承
本文关键字:接口 继承 泛型类 | 更新日期: 2023-09-27 18:28:42
我有以下类:
public class DataInterop <T> where T : ITableAdapter
{
private ITableAdapter tableAdapter;
public DataInterop(T tableAdapter)
{
this.tableAdapter = tableAdapter;
}
}
ITableAdapter接口中定义了一些方法,如Read()、Write(…)、Update(…),Delete(…)…
现在,我希望类DataInterop具有ITableAdapter接口中的所有方法。
泛型类是否可以从接口继承?
您只需要在DataInterop<T>
之后添加: ITableAdaper
public class DataInterop<T>: ITableAdapter where T: ITableAdapter
{
private ITableAdapter tableAdapter;
public DataInterop(T tableAdapter)
{
this.tableAdapter = tableAdapter;
}
}
(看起来像是在实现Adapter Pattern
或Decorator Pattern
。)
是的,当您在运行时处理类的实例而不知道具体类型时,这是可能的,尤其有用。
语法为:
public class DataInterop <T> : ITableAdapter where T : ITableAdapter
当然可以。样品布局-
public interface IBar
{
string Name { get; set; }
}
public class Foo<T> : IBar
{
public string Name { get; set; }
}