1

只是在运行 Parasoft 的代码分析工具的规则集。

public int testProperty // violation
{
  private get // not matching property accessibility
  { return _testValue; }
  set
  { _testValue = value; }
}

使它们都匹配的修复程序。原因指向CLS 上此 MSDN 页面上的属性部分。然而,页面上没有提到这样做的理由。

我经常使用表单的自动属性 public int MyProp { get; private set;}

这违反了 CLS 吗?RFC

4

1 回答 1

3

如果您查看该页面的更新版本(甚至是.NET 2.0 版本),则没有该规则。基本上它在 v1.1 和 v2.0 之间消失了......同时 C# 开始允许以不同方式指定它们:)

这是一条愚蠢的规则,也是 C# 1 中愚蠢的缺乏功能,IMO。能够拥有一个私有的 setter 和一个公共的 getter 显然很有用诚然,相反的情况是非常罕见的......

于 2011-11-03T06:31:41.200 回答