无法理解接口继承

本文关键字:接口 继承 | 更新日期: 2023-09-27 18:03:49

下面的代码给我的错误

错误2类型为"Series"。AB'已经包含了'B'的定义

 interface IA
{
    void A();
}
interface IB
{
    void B();
}
interface IAB : IA, IB
{
    void A();
    void B();
}
class AB : IAB
{
    IA A;
    IB B;
    public AB(IA _a, IB _b)
    {
        A = _a;
        B = _b;
    }
    public void A()
    {
        throw new NotImplementedException();
    }
    public void B()
    {
        throw new NotImplementedException();
    }
}

我想我可以使用AB类实例作为

IA A = new AB();或者IB B = new AB();

我不明白这里发生了什么。请任何人描述一下为什么会出现这种异常。

无法理解接口继承

将属性名称更改为A和B以外的东西,因为您的方法名称相同。在类AB中也有默认构造函数。

class AB : IAB
{
    IA instanceA;
    IB instanceB;
    public AB(IA _a, IB _b)
    {
        instanceA = _a;
        instanceB = _b;
    }
    public void A()
    {
        throw new NotImplementedException();
    }
    public void B()
    {
        throw new NotImplementedException();
    }
}