-4

有谁知道我如何获得以下代码以在 C# 中编译。无论我尝试什么,我都会不断收到错误。我在下面列出了错误。谢谢你的帮助。

using System;

interface InterfaceA { void doA(); } 

class A : InterfaceA { public virtual void doA() {Console.WriteLine("Class A");} }

interface InterfaceB { void doB(); }

class B : InterfaceB { public virtual void doB(){ Console.WriteLine("Class B");}}

class C : InterfaceA, InterfaceB
{  
   static void doA(A x) { x.doA(); }
   static void doB(B x) { x.doB(); } 

  public static void main()
  {
    A _a = new A();
    B _b = new B();
    doA(_a);   
    doB(_b);
  }

}
//Errors:
//'C' does not implement interface member InterfaceA.doA()
//'C' does not implement interface member InterfaceB.doB()
4

4 回答 4

4

实际上,您没有在 C 类中实现接口方法。要么删除实现。

将代码更改 class C : InterfaceA, InterfaceBclass C (您最可能的意思)

或在 C 类中实现接口方法,就像在 A 和 B 中所做的那样。

于 2013-04-09T13:44:32.203 回答
0
using System;

interface InterfaceA { void doA(); } 

class A : InterfaceA { public virtual void doA() {Console.WriteLine("Class A");} }

interface InterfaceB { void doB(); }

class B : InterfaceB { public virtual void doB(){ Console.WriteLine("Class B");}}

class C 
{
   static void doA(A x) { x.doA(); }
   static void doB(B x) { x.doB(); } 

  static void Main()
  {
    A _a = new A();
    B _b = new B();
    doA(_a);   
    doB(_b);
  }

}
于 2013-04-09T13:43:03.667 回答
0
 interface InterfaceA { void doA(); }

    class A : InterfaceA { public virtual void doA() { Console.WriteLine("Class A"); } }

    interface InterfaceB { void doB(); }

    class B : InterfaceB { public virtual void doB() { Console.WriteLine("Class B"); } }

    class C : InterfaceA, InterfaceB
    {
        public static void main()
        {
            A _a = new A();
            B _b = new B();
           _a.doA();
            _b.doB();
        }

        public void doA()
        {
            throw new NotImplementedException();
        }

        public void doB()
        {
            throw new NotImplementedException();
        }
    }

您的方法签名与接口不匹配,因此出现错误。而且您使用的是静态而不是公开的。

于 2013-04-09T13:43:52.607 回答
-1

您不能使用静态方法实现接口。

于 2013-04-09T13:43:09.630 回答