C# 如何定义两个依赖的泛型接口?

C# 如何定义两个依赖的泛型接口?,c#,C#,我在使用通用接口时遇到问题。初始条件如下: interface Itemplate1 { ... } interface Itemplate2<T> where T : Itemplate1 { ... } 我怎么做? 非常感谢我过去也做过同样的事情。我必须警告你,这最终会有点痛苦,但它确实有效 就我而言,我需要: public interface IMessage<TMessage, TBuilder> where TMessage : IM

我在使用通用接口时遇到问题。初始条件如下:

interface Itemplate1
{
    ...
}

interface Itemplate2<T> where T : Itemplate1
{
    ...
}
我怎么做?
非常感谢

我过去也做过同样的事情。我必须警告你,这最终会有点痛苦,但它确实有效

就我而言,我需要:

public interface IMessage<TMessage, TBuilder>
    where TMessage : IMessage<TMessage, TBuilder>
    where TBuilder : IBuilder<TMessage, TBuilder>
公共接口IMessage
where-TMessage:IMessage
制造商:IBuilder

公共接口IBuilder
where-TMessage:IMessage
制造商:IBuilder

很难说您的代码中是否需要完全相同的模式或类似的模式,但这对我来说很有效。诚然,它有助于实际的具体实现是自动生成的…

如果您能描述循环通用实现试图解决的问题,这将有所帮助。可能有一种更简单的方法——可能只是独立定义接口,并拥有一个需要从两者继承的类,而不是构建层次结构。从你给我们的有限信息很难判断。
public interface IMessage<TMessage, TBuilder>
    where TMessage : IMessage<TMessage, TBuilder>
    where TBuilder : IBuilder<TMessage, TBuilder>
public interface IBuilder<TMessage, TBuilder>
    where TMessage : IMessage<TMessage, TBuilder>
    where TBuilder : IBuilder<TMessage, TBuilder>