gpt4 book ai didi

c# - 如何定义两个依赖的泛型接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 15:42:35 25 4
gpt4 key购买 nike

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

interface Itemplate1
{
...
}

interface Itemplate2<T> where T : Itemplate1
{
...
}

它就像一个魅力!但是,当我继续进行应用程序设计的其余部分时,我注意到 Itemplate1 成员还需要 Itemplate2

interface Itemplate1<T> where T : Itemplate2<?>
{
...
}

interface Itemplate2<T> where T: Itemplate1<?>
{
...
}

我该怎么做?非常感谢

最佳答案

我在 my Protocol Buffers port 中做过完全相同的事情.我必须警告你,它最终会有点痛苦,但它确实有效。

就我而言,我需要:

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>

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

关于c# - 如何定义两个依赖的泛型接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com