Как реализовать все методы при наследовании интерфейса на C#
Я только начал писать на c#. Объясните пожалуйста, с чем связана ошибка:
KeyDoorToDoor не реализует член интерфейса IDoor.Open(). И подскажите, как её исправить.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Text;
interface IDoor
{
void Open();
}//Интерфейс двери
class KeyDoorToDoor : IDoor
{
KeyDoor door;
public KeyDoorToDoor(KeyDoor d)
{
door = d;
door.PutKey(); //вставляем ключ в дверь, чтобы открыть
door.RotateKey(); //поворачиваем ключ, чтобы открыть дверь
door.Open(); //Открываем
}
public void Open()
{
throw new NotImplementedException();
}
} //Адаптер от PasDoor к IDoor
Ответы (3 шт):
Автор решения: tym32167
→ Ссылка
Напутали со скобочками. Попробуйте так:
interface IDoor
{
void Open();
}//Интерфейс двери
class KeyDoorToDoor : IDoor
{
KeyDoor door;
public KeyDoorToDoor(KeyDoor d)
{
door = d;
door.PutKey(); //вставляем ключ в дверь, чтобы открыть
door.RotateKey(); //поворачиваем ключ, чтобы открыть дверь
door.Open(); //Открываем
}
public void Open()
{
throw new NotImplementedException();
}
} //Адаптер от PasDoor к IDoor
Автор решения: iiKuzmychov
→ Ссылка
Всё элементарно, вы фигурную скобку поставили не там:
У вас вышло так, что метод оказался вне класса.
Автор решения: Vipz
→ Ссылка
Реализуйте метод как то иначе, на данный момент он у вас сам и генерирует исключение. Генерация исключений
public void Open()
{
// throw new NotImplementedException();
Console.WriteLine("Открыли дверь");
}


