推断类型参数

时间:2019-07-25 16:09:01

标签: c#

我想通过工厂方法创建一个新的Something<T>

我的想法是:

SomethingFactory.Build<T>()
    .OtherMethod(...)
    .OtherMethod(...);

每个T的类型都必须为IInterface<S>

是否有任何方法可以在S方法内访问Build而无需将其作为第二个通用参数?

然后,我需要在Unrelated<S>内创建另一个不相关的类型Build并将其作为参数传递给Something<T>

我期待着这样的事情:

public static Something<T> Build<T>()
    where T : IInterface<S>
{

}

可以正常工作,但是它不知道如何推断S和错误:

  

找不到类型或名称空间名称“ S”(您是否缺少using指令或程序集引用?)(CS0246)

我该如何实现等同的目标?

0 个答案:

没有答案