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

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

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

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. У него есть только геттер, но его МОЖНО изменить. Свойство только для чтения говорит о том, что свойство может быть изменено только внутри реализации.


person jgauffin    schedule 17.06.2011    source источник
comment
Взгляните на этот вопрос/ответ, хотя он в основном посвящен VB.NET: stackoverflow.com/questions/554369/   -  person Tim Schmelter    schedule 17.06.2011
comment
Я согласен с обновлением jgauffin. Свойство только для чтения не означает, что оно не изменится.   -  person Steven    schedule 17.06.2011