次のインターフェースを持っているとしましょう:
public interface IMessage
{
bool KeepAlive { get; }
}
public interface IRequest : IMessage
{
bool KeepAlive { get; }
}
IReponse
問題は、インターフェースにセッターを持たせたいということです:
public interface IReponse : IMessage
{
bool KeepAlive { get; set; }
}
- なぜそれが許可されていないのですか?
- もしそうしたら、どんな問題が発生する可能性がありますか
new bool KeepAlive { get; set; }
。
アップデート:
他の質問を読んだところ、プロパティが変更されるとは予想されていないと書かれています。私は同意しない。Socket.Connected
物件を例にとってみましょう。ゲッターしかありませんが、変更できます。読み取り専用プロパティが言うことは、プロパティは実装内からのみ変更できるということです。