私は、そのインターフェイスのプロパティにsetアクセサを提供することによって、インターフェイスを拡張しようとしています。C#のインターフェイスのプロパティに 'set'を追加します。
interface IMutableUser : IUser
{
string UserName
{
get;
set;
}
}
私は継承が必要になります。
interface IUser
{
string UserName
{
get;
}
}
私はこのような何かをしたい:インタフェースは次のようになります。 IUser
の本文をIMutableUser
にコピーして、設定したアクセサーを追加することはできません。
これはC#で可能ですか?もしそうなら、どのように達成できますか?
新しい機能が追加されました。ありがとう!あなたは(他の人のための)例で答えを更新できますか? – strager
実用的な観点からは、インタフェースは時間の経過とともに非常に悪化します。インターフェイスのすべての実装者は、この契約の変更ごとに壊れてしまいます。 –
@PatrickPeters - そのコメントはSetUserNameメソッドを対象としていたとしますか?私は最初の選択肢に問題は見られません。実装者が適切なところで明示的な実装を行った場合、中断の可能性が排除されます。 – Maslow