如果我的类包含设置了私有集和受保护集可访问性级别的属性,我是否可以在同一个类的另一个实例上更改这些属性?
注意:我现在不在我可以测试它的机器上,否则我只是运行下面的代码。
例如:
public class Foo
{
public string A {get; private set;}
public string B {get; protected set;}
public void Bar()
{
var someOtherFoo = new Foo();
// Does this change someOtherFoo's A?
someOtherFoo.A = "A";
// Does this change someOtherFoo's B?
someOtherFoo.B = "B";
}
}
答案 0 :(得分:4)
是。访问权限是类型,而不是实例。这对于实现相等性等特别有用,因为您可以测试this.x == other.x && this.y == other.y;
。 嵌套类型也可以访问。
答案 1 :(得分:1)
简答:是的
答案 2 :(得分:0)
//这会改变someOtherFoo的A吗? //这会改变someOtherFoo的B吗?
是的,是的。