У меня есть интерфейс
public interface IIntf { string Foo { get; set; } }
и класс
class MyClass : IIntf
{
public string Foo { get; private set; }
}
.Теперь я получаю сообщение об ошибке компилятора
«MyClass» не реализует элемент интерфейса «IIntf.Foo.set».«MyClass.Foo.set» не является общедоступным.
Так что, похоже, Foo.set
является каким-то образом своей собственной сущностью (и Foo.get
аналогично). Могу ли я что-нибудь с ними сделать?Если да, что?
Например, я попытался реализовать отсутствующее свойство сеттера с помощью Foo.set
- это даже было предложено Visual Studio
но я не нашел ни одного синтаксиса, который работает.Следуя предложению и пытаясь реализовать метод Foo.set
(без соответствующего get
, потому что он у меня уже есть), я получаю ошибку компилятора другого типа:
Но поскольку Visual Studio показывает (и иногда предлагает при вводе кода) Foo.set
и Foo.get
, я предполагаю, что с ними можно что-то сделать.Есть идеи что?Может быть, какой-нибудь приятный способ перенаправления методов только к получателю / только к установщику?Или что-то еще?