我尽可能地让其他人的代码符合一些StyleCop规则集.现在我想知道以下情况:
我有一个包含字段的抽象类
protected double[] coefficients;
Stylecop说:SA1401:必须使用私人访问声明字段.使用属性公开字段.
所以我改成了:
protected double[] coefficients { get; set; }
Stylecop说:SA1300:属性名称以大写字母开头:系数.
由于它是一个抽象类,因此子类无法控制.他们使用他们父母的课堂base.coefficients
......好吧.
那么......除了压制(或禁用)它之外没有别的办法摆脱这个警告吧?:T
嗯,实际上你没有.
如果要在将来的代码版本中清除它,可以设置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; } }