具有泛型接口的泛型基类



我想创建一个基类,它有几个默认方法。此基类应使用泛型接口。

这可能吗?(因为下面的代码示例无法编译,问题出在 T1,T2,T3 -> 第一行)

public abstract class ServiceBase<T> where T: IService<T1,T2,T3>
{
    public abstract IEnumerable<T3> Search(T1 query);
    public abstract T3 Add(T2 input);
    public bool Monitor()
    {
        return true;
    }
}

我想使用的原因是,对于服务,我可以键入:

public class WhatEverService : ServiceBase<IWhatEverService>

从 IService<T1、T2、T>3 继承 IWhatEverService(使用 T1、T2、T3 一些不同的类型)

仅供参考:

public interface IWhatEverService: IService<WhatEverType1, WhatEverType2, WhatEverType3>

您尚未告诉编译器 T1、T2 和 T3 是什么,并且无法从使用情况中推断出这些类型。

public abstract class ServiceBase<T,T1,T2,T3> where T : IService<T1,T2,T3>

相关内容

  • 没有找到相关文章

最新更新