继承的接口会在接口层次结构中生成一个循环

时间:2016-05-12 13:26:53

标签: c#

我收到以下错误

  

继承接口' ConsoleApplicationTest.Program.B'引起一个循环   在' ConsoleApplicationTest.Program.IB'

的界面层次结构中

当我尝试编译此代码时:

public interface IA<T>
{
}

public abstract class A<T> : IA<T>
{
}

public interface IB : IA<B.C>
{
}

public class B : A<B.C>, IB
{
    public class C
    {
    }
}

这很容易解决:

  • 提取class C的{​​{1}}。

OR

  • 修改class Binterface IB<T> : IA<T>(但这会导致修改代码中class B : A<B.C>, IB<B.C>的每次使用)

但这并不能解释为什么我会收到此编译错误。有什么想法吗?

0 个答案:

没有答案