【发布时间】:2017-06-27 16:38:05
【问题描述】:
考虑这个简短的例子:
class Program
{
private abstract class PropertyExample
{
public virtual bool Property { get; set; }
}
private class GetOnlyProperty : PropertyExample
{
private bool property = false;
public override bool Property => property;
}
static void Main(string[] args)
{
GetOnlyProperty example = new GetOnlyProperty();
example.Property = true;
}
}
即使我将 GetOnlyProperty 类中的 Property 覆盖为仅获取,我仍然可以在 Main() 中设置它。为什么会这样?
【问题讨论】:
-
不要覆盖,标记为
new -
@MohamedAhmed 这仍然不会删除设置属性值的能力。
-
他不能使用当前
example类型为GetOnlyProperty的对象 -
@MohamedAhmed 你试过执行它吗?为我工作;这就是我提交问题的原因:)
标签: c# properties overriding accessor