gpt4 book ai didi

c# - 实例化时用{}大括号设置属性

转载 作者:太空狗 更新时间:2023-10-30 00:08:42 26 4
gpt4 key购买 nike

任何人都知道为什么以下不会编译? ID 的 setter 应该对两个类都是私有(private)的,那么为什么我们可以实例化 ClassA 而不能实例化 ClassB?

public class ClassA {
public string ID { get; private set; }

public void test() {
var instanceA = new ClassA() { ID = "42" };
var instanceB = new ClassB() { ID = "43" };
}

public class ClassB {
public string ID { get; private set; }
}
}

谢谢

最佳答案

test()ClassA 的成员,因此它可以访问 A 的私有(private)成员(和 setter)。它 可以访问 ClassB 的私有(private)成员或 setter,因此在 instanceB 而不是 instanceA 上出错。

有关私有(private)成员可访问性的更多信息,我鼓励您查看 this answer关于相关问题。

关于c# - 实例化时用{}大括号设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6308710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com