我有以下代码。
class A
{
public virtual int BoardSize { get; set; }
}
class B : A
{
public override int BoardSize
{
get{return 100;}
}
}
Class Client
{
B b = new B();
b.BoardSize = 55;
}
在基类中,该属性是读/写的。但在派生类中它是只读的,应该总是返回 100。虽然当我运行代码时,我发现它总是按预期返回 100。
但是,我不希望客户在 B 类中设置 BoardSize。所以它根本不应该允许客户端写b.BoardSize = 55
。
这怎么可能?