[KnownType(typeof(B))]
public abstract class A: IA // string Description { get; }
{
[DataMember(Name = "description")]
public virtual string Description { get; set; }
}
public sealed class B: A
{
public override string Description
{
get
{
return "Custom_Description";
}
}
}
私は私の抽象クラスを変更することはできませんし、私のようなDescription
でset
を使用禁止にしたい:プロパティセッターの使用を禁止する方法は?
B b = new B();
b.Description = "description";
はどのようにそれを行うには? set
はどのように実装できますか?
奇妙な...これは[Lに違反していること –
注意SOLID](https://en.wikipedia.org/wiki/Liskov_substitution_principle)を参照してください。適切な方法は、抽象基盤を変更することです。 – GazTheDestroyer
@ GazTheDestroyerありがとう、抽象ベースを変更するには? –