C# 私有(private)属性 - 它们是否被使用/有意义?

标签 c# properties private

我刚开始是一名 C# 爱好者,在我看来属性应该始终是公共(public)的。私有(private)属性(property)没有意义。会吗?

这会不会:

private string propertyOne {get; set;}

相当于这个:

public string propertyOne {private get; private set;}

最佳答案

是的,私有(private)属性是有意义的,特别是在您有逻辑要在 getter/setter 中实现的情况下。您可能只希望这些在类中可访问(因此它们是私有(private)的),但您仍然希望将 getter/setter 逻辑封装在一个地方。

您打印的两行代码之间存在差异。反射(reflect)公共(public)属性的人不会看到第一个,但他们会看到第二个,即使他们不能调用 getter/setter。

关于C# 私有(private)属性 - 它们是否被使用/有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304230/

相关文章:

c# - 从配置中读取定时器触发计划

c# - Newtonsoft JsonConvert 复数问题

c# - linq 任何不等于 (!=) 的运算符

properties - CXF - Wsdl2java - XX 属性已定义

c++ - 如何访问类构造函数中的动态数组?

android - 公共(public)或私有(private),Android变量真的很重要吗

c# - string.split 返回一个 string[] 我想要一个 List<string> 是否有一个衬垫可以将数组转换为列表?

java - 如何在运行时从加载的 log4j 配置中获取特定值?

C++类成员变量知道自己的偏移量

git - 如果我将其他人的私有(private) Github 存储库 fork 到我的帐户中,它是否会作为公共(public)存储库出现在我的帐户中?