c# - 公共(public)访问器 .net

标签 c#

我认为是在 .net 2.0 中,微软引入了一个缩写为类似内容的访问器

公共(public)字符串名称{ get;放; }

但是上面的代码有什么真正的区别吗,简单地说:

public string Name;

最佳答案

主要区别在于,如果您稍后需要将逻辑添加到您的 getter 或 setter 中,并且其他 DLL 已经针对您的 DLL 进行了编译,您可以轻松更改

public string Name { get; set; }

进入

public string Name { get{/*special code*/} set{/*special code*/} }

并且发布新的 DLL 并且不重新编译其他 DLL 不会是重大更改。


而如果你改变了

public string Name;

进入

public string Name { get{/*special code*/} set{/*special code*/} } 

然后您需要确保重新编译所有使用您的 DLL,因为它们从访问字段变为访问属性。

当您将 DLL 发送给其他程序员(例如,作为一个开源项目或作为一个组件供应商)时,这显然比您只是为您自己/雇主构建一个应用程序时是一个更大的问题

关于c# - 公共(public)访问器 .net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1957700/

相关文章:

c# - 设置 Html.DropDownList() 的默认值

c# - 使用 MVC Core Identity 从 Web API 验证 MVC 网站用户

c# - 无法在 protected 方法的单元测试的适当方法之间做出决定

c# - 线程引发事件被处理程序阻止?

c# - Unity : Map Input. GetButtonDown ("Jump") 在iOS touch

c# - 将电子邮件编码为 UTF8

C# 6.0 => 运算符

c# - 如何检查某个键的字典是否包含值?

c# - SSL + Jquery + Ajax

c# - 自定义用于显示 ObservableCollection 内容的 FrameworkElements