我想知道这段代码是否可以改进.IProvider实现IProvider并覆盖Request(...).我想将它们组合成一个单独的界面.但我仍然需要一个类型和无类型的接口来使用.
有没有办法将这两者结合起来,或者这是接口的外观?
public interface IProvider
{
DataSourceDescriptor DataSource { get; set; }
IConfiguration Configuration { get; set; }
IResult Request(IQuery request);
}
public interface IProvider<T> : IProvider
{
new IResult<T> Request(IQuery request);
}
Run Code Online (Sandbox Code Playgroud)
如果泛型类型参数T仅与Request方法的上下文相关,则仅将该方法声明为泛型:
public interface IProvider
{
DataSourceDescriptor DataSource { get; set; }
IConfiguration Configuration { get; set; }
IResult Request(IQuery request);
IResult<T> Request<T>(IQuery request);
}
Run Code Online (Sandbox Code Playgroud)