Прочитать на английском

Поделиться через


Ошибка компилятора CS0540

"член_интерфейса": вмещающий тип не реализует интерфейс "интерфейс"

Попытка реализовать член интерфейса в классе , который не наследует от соответствующего интерфейса. Следует удалить реализацию члена интерфейса или добавить интерфейс в список базовых классов класса.

Пример 1

При компиляции следующего примера возникнет ошибка CS0540.

C#
// CS0540.cs  
interface I  
{  
   void m();  
}  
  
public class Clx  
{  
   void I.m() {}   // CS0540  
}  
  
// OK  
public class Cly : I  
{  
   void I.m() {}  
   public static void Main() {}  
}  

Пример 2

При компиляции следующего примера возникнет ошибка CS0540.

C#
// CS0540_b.cs  
using System;  
class C {  
   void IDisposable.Dispose() {}   // CS0540  
}  
  
class D : IDisposable {  
   void IDisposable.Dispose() {}  
   public void Dispose() {}  
  
   static void Main() {  
      using (D d = new D()) {}  
   }  
}