Есть ли способ реализовать интерфейс явно с использованием автоматического свойства? Например, рассмотрите этот код:Явная реализация интерфейса с использованием автоматического свойства
namespace AutoProperties
{
interface IMyInterface
{
bool MyBoolOnlyGet { get; }
}
class MyClass : IMyInterface
{
static void Main(){}
public bool MyBoolOnlyGet { get; private set; } // line 1
//bool IMyInterface.MyBoolOnlyGet { get; private set; } // line 2
}
}
Этот код скомпилирован. Однако, если вы замените строку 1 на строку 2, она не компилируется.
(Это не то, что мне нужно, чтобы получить линию 2 работать - я просто любопытно.)
Какие ошибки вы получаете? –
Для «почему» - спросите себя ... как бы я его назначил? –
Я получаю две ошибки: 1. «AutoProperties.MyClass.AutoProperties.IMyInterface.MyBoolOnlyGet.set» добавляет аксессуар, который не найден в члене интерфейса «AutoProperties.IMyInterface.MyBoolOnlyGet». 2. Модификатор 'private' недействителен для этого элемента – user181813