【发布时间】:2010-12-14 18:34:16
【问题描述】:
在 Visual Studio 2008 Team System 中,我刚刚对我的一个 C# 项目运行了代码分析(从分析菜单中)。产生的警告之一如下:
Microsoft.Design :由于字段“Connection._domain”在其声明类型之外可见,因此将其可访问性更改为私有并添加一个与该字段当前具有相同可访问性的属性以提供对其的访问。
指的是以下字段:
public abstract class Connection
{
protected string _domain;
}
我不明白这个建议背后的原因。这就是我认为它希望我做的事情:
public abstract class Connection
{
private string _domain;
protected string Domain { get { return _domain; } set { _domain = value; } }
}
两个问题:
- 在代码方面,我是否正确理解了建议要我做什么?
- 为什么要我这样做?
【问题讨论】:
-
另见stackoverflow.com/questions/1410645/are-public-fields-ever-ok、stackoverflow.com/questions/480627/…、stackoverflow.com/questions/1277572/… 和更多(搜索“公共领域”)。它们都讨论了公共领域,但通常也适用于受保护的领域。
标签: c# static-analysis access-levels