当前位置:  开发笔记 > 编程语言 > 正文

StyleCop Madness:受保护的领域

如何解决《StyleCopMadness:受保护的领域》经验,为你挑选了1个好方法。

我尽可能地让其他人的代码符合一些StyleCop规则集.现在我想知道以下情况:

我有一个包含字段的抽象类

protected double[] coefficients;

Stylecop说:SA1401:必须使用私人访问声明字段.使用属性公开字段.

所以我改成了:

protected double[] coefficients { get; set; } 

Stylecop说:SA1300:属性名称以大写字母开头:系数.

由于它是一个抽象类,因此子类无法控制.他们使用他们父母的课堂base.coefficients......好吧.

那么......除了压制(或禁用)它之外没有别的办法摆脱这个警告吧?:T



1> Florian Grei..:

嗯,实际上你没有.

如果要在将来的代码版本中清除它,可以设置coefficients不推荐使用的属性,并提供一条消息,指出将在任何其他版本的代码中删除此属性.

在当前版本中:

private double[] _coefficients;

// Using this property will produce a compile-time warning.
[Obsolete("coefficients will be removed in future versions. Use Coefficients instead.")]
protected double[] coefficients 
{ 
    get { return _coefficients; } 
    set { _coefficients = value; } 
}

protected double[] Coefficients 
{ 
    get { return _coefficients; } 
    set { _coefficients = value; } 
}

在以后的版本中:

private double[] _coefficients;

// Using this property will produce a compile-time error.
[Obsolete("coefficients was removed. Use Coefficients instead.", true)]
protected double[] coefficients 
{ 
    get { return _coefficients; } 
    set { _coefficients = value; } 
}

protected double[] Coefficients 
{ 
    get { return _coefficients; } 
    set { _coefficients = value; } 
}

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有