Как я могу отдельно объявить получатель и установщик для свойства?
Например, скажем, я хочу создать следующую иерархию:
interface IReadOnlyFoo
{
string Value { get; }
}
interface IFoo : IReadOnlyFoo
{
string Value { set; }
}
class BasicFoo : IFoo
{
string Value { get; set; }
}
Компилятор компанируется, потому что IFoo.Value
скрывает IReadOnlyFoo.Value
, что я не хочу делать.Я хочу «объединить» объявления получения и установки.
Я посмотрел, как .NET Framwork объявляет интерфейсы IReadOnlyList
и IList
, но это делается по-другому.
Как я могу достичь того, что хочу сделать?Могу ли я сделать это с помощью свойства или мне действительно нужно вместо этого создавать отдельные методы GetValue()
и SetValue()
?