gpt4 book ai didi

c# - 在 .NET 中仅使用没有相应字段的属性的缺点?

转载 作者:太空狗 更新时间:2023-10-29 19:51:24 27 4
gpt4 key购买 nike

我有一些类只具有自动属性,例如 public customerName {get;放;}。它们是公开的,因为它们可以在类之外访问。它们也可以在类内访问。它们提供了良好的封装和更好的调试。如果我需要知道谁在访问它以及何时访问它,我可以在其中设置一个断点。

我的问题是只使用没有相应字段的属性有什么缺点?我可以将 setter 或 getter 设为私有(private)、内部……等等,这意味着我还可以在需要时灵活地确定它的范围。

最佳答案

使用 BinaryFormatter 进行序列化 - 如果您稍后需要将您的属性更改为“常规”属性,例如添加一些验证/事件/etc,您将遇到问题- sinc BinaryFormatter 使用字段名称。你不能复制它,因为编译器生成的字段名称不能写成合法的 C#。

这是改用基于契约的序列化程序的一个很好的理由。参见 this blog entry了解更多信息。

关于c# - 在 .NET 中仅使用没有相应字段的属性的缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1080753/

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