c# - c#/VB.net Property Properties 的优点/优势是什么 - Setters 的私有(private)访问修饰符

标签 c# asp.net vb.net c#-4.0 properties

下面是具有属性的类。

public class abc
    {
        public int MyProperty { get; private set; }
    }

困惑 - 在 setter 中输入私有(private)访问修饰符有什么好处?

最佳答案

简单来说就是类本身允许设置的属性,但外部对象只能读取。也许 MyProperty 作为方法的副作用发生变化,也许它只设置一次(在构造函数中)。要点是 MyProperty 的变化源必须来自 abc(或 abc 的嵌套类),而不是来自外部包含对它的引用。

至于为什么要使用它,也许不能信任外部代码来设置这个值。该类并非严格不可变,它可以更改,但唯一可信赖的代码存在于类(或嵌套类)内部。外界可以简单地阅读。

关于c# - c#/VB.net Property Properties 的优点/优势是什么 - Setters 的私有(private)访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8998457/

相关文章:

asp.net - 如何在 asp.net 核心应用程序中运行 ssis 包?

c# - JSON 序列化器和 CSLA 对象

c# - 创建复杂的数据结构

c# - 使用 Owin.Host.SystemWeb 异常中间件托管的 AspNet WebApi 无法捕获 POST 请求

c# - Foreach 更改属性。什么是PropertyInfo?

c# - 在冗长的异步 Postack 期间从进度表查询

asp.net - gridview + objectdatasource select方法调用两次

vb.net - Linq 到 Sql : Multiple left outer joins

vb.net - 高级文本搜索并将特定字符串从文件导入 VB

c# - 具有高回调调用的 WCF PollingDuplex 导致新服务订阅的服务太忙异常