【问题标题】:How can I make a class both implement an Interface and inherit from another class如何使一个类既实现接口又从另一个类继承
【发布时间】:2013-08-12 06:33:05
【问题描述】:

我希望我的类实现一个接口并从 Auditable 表中获取其他属性。我可以两者都做吗?我在这里尝试过,但在我的 IDE 中出现错误。

public partial class ObjectiveDetail : IEquatable<ObjectiveDetail>, AuditableTable
{
    ...
}

public abstract class AuditableTable : IAuditableTable
{
    ...
}

【问题讨论】:

  • I am getting an error in my IDE 。什么错误?
  • “一个”错误,对吧?如果我们知道是哪个...

标签: c# interface derived-class interface-implementation


【解决方案1】:

公共子类:BaseClass,IInterface

【讨论】:

    【解决方案2】:

    是的,你可以两者都做,但你必须把基类放在第一位:

    public partial class ObjectiveDetail : AuditableTable, IEquatable<ObjectiveDetail>
    

    【讨论】:

      【解决方案3】:

      你必须改变

      public partial class ObjectiveDetail : IEquatable<ObjectiveDetail>,  AuditableTable
      

      public partial class ObjectiveDetail :   AuditableTable, IEquatable<ObjectiveDetail>
      

      在 C# 中,您可以继承一个类并实现多个接口,并且您必须将类放在首位

      【讨论】:

        【解决方案4】:

        没有什么能阻止你实现接口和从同一个类中的类继承,C# 仅不支持多重继承(从多个不同的类继承)所以你不需要做任何事情,它应该可以工作.

        【讨论】:

        • 如果不说明错误,这个问题就没什么用了
        【解决方案5】:

        首先是基类,然后是接口,应该可以工作

        【讨论】:

          猜你喜欢
          • 2021-09-13
          • 1970-01-01
          • 1970-01-01
          • 2014-11-22
          • 2013-10-22
          • 2019-08-04
          • 2012-12-07
          • 1970-01-01
          • 2019-03-31
          相关资源
          最近更新 更多