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>