Переопределение определений интерфейса

Возможный дубликат:
Почему невозможно переопределить свойство только для получения и добавить установщик?

Допустим, я получил следующие интерфейсы:

public interface IMessage
{
    bool KeepAlive { get; }
}

public interface IRequest : IMessage
{
    bool KeepAlive { get; }
}

Проблема в том, что я хочу IReponse интерфейс для установки:

public interface IReponse : IMessage
{
    bool KeepAlive { get; set; }
}
  1. Почему это не разрешено?
  2. Какие проблемы я могу получить, если я это сделаю new bool KeepAlive { get; set; },

Обновить:

Я прочитал другой вопрос, и он говорит, что не ожидается, что свойство изменится. Я не согласен. Давайте возьмем для примера Socket.Connected имущество. У него есть только геттер, но он МОЖЕТ быть изменен. Свойство только для чтения говорит о том, что свойство может быть изменено только внутри реализации.

0 ответов

Другие вопросы по тегам