也许是一个愚蠢的问题,但为什么CodeAnalysis会发出警告:“警告CA1704在成员名称'BaseHead.ActiveСolor()'中更正'Сolor'的拼写,或者如果它代表任何种类的匈牙利符号,则完全删除它”,on成员“公共属性ActiveСolorAsColor”,结构“System.Drawing.Color”的名称拼写正确,但该属性有什么问题?
答案 0 :(得分:2)
有趣的是,起初我无法重现你的问题。然而,在我尝试复制你的" ActiveColor"直接来自StackOverflow,我遇到了同样的问题。 似乎在" e"之间存在一些奇怪的特征。 Active和" C"颜色(但我还没弄清楚究竟是什么问题)。
但是我写了一个显示问题的ConsoleApp:
class Program
{
static void Main(string[] args)
{
var baseHead = new BaseHead();
Console.WriteLine(nameof(baseHead.ActiveColor) == nameof(baseHead.ActiveСolor));
Console.ReadKey();
}
}
public class BaseHead
{
public string ActiveColor()
{
// Version I typed in myself
return "";
}
public string ActiveСolor()
{
// Version I copy/pasted from SO
return "";
}
}
正如您所看到的,有两种方法显然看起来相同,但编译器并不这么认为,您可以运行该程序。 在Main方法中,我只是比较了两种方法的名称,结果是假的。
所以我想解决你的问题,尝试用你从头开始编写的方法重命名你当前的方法名。如果这不起作用,请尝试从我的样本中复制它,看看是否解决了它。
当我弄清楚您的版本究竟出现了什么问题时,我会更新我的答案。
编辑:将两个版本存储在一个文本文件中,并比较写入的实际值,发现在您的版本中它实际上不是" C"但另一个看起来像" C"的符号: