是否可以定义一个可以使用泛型方法的非泛型接口?

phi*_*lip 5 c# oop generics

我想知道这段代码是否可以改进.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)

Dan*_*rth 5

如果泛型类型参数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)