gpt4 book ai didi

c# - 为什么 NHibernate 需要 "protected internal"自动属性的可见性?

转载 作者:太空狗 更新时间:2023-10-29 22:54:49 25 4
gpt4 key购买 nike

过去可以使用 NHibernate 将自动属性与私有(private) setter 映射,但从版本 3.2 开始不再是这种情况(并非没有替换实体验证器),参见 NH dev discussion .

我理解 protected 要求,但为什么是 internal?这会破坏封装,而且感觉很脏。

返回到支持字段是唯一的选择吗?

更新:令人尴尬但事实证明 internal 不是必需的。因此,这是在回退到支持字段或使用 protected setter 以及避免在构造函数或 facing the risk of hard to track bugs 中设置值之间的折腾。 .谢谢Fabio还有@Nexus 指出了我的错误。

最佳答案

迈克尔,

public string Foo { get;保护集; } 应该仍然是可能的,开发讨论是关于 public string Foo { get;私有(private)集; } 这在使用惰性属性时可能会导致错误。

关于c# - 为什么 NHibernate 需要 "protected internal"自动属性的可见性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6114869/

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