我最近尝试使用ASP.Net MVC在 Visual Studio 2012 中创建一个名为Fixed
的新区域,并将其重命名为_Fixed
我可以返回并将其重命名为Fixed
并且它会构建没有错误 - 但默认情况下,它会将其重命名为_Fixed
。
为什么会这样?我尝试了一下,但找不到答案。
更新01:在Stephen的评论之后,我尝试在Visual Studio 2015中运行它,VS2015 不进行重命名。它让区域为Fixed
。因此,我认为这是Visual Studio 2012
特有的。
此外,这与Resharper没有任何关系,因为我在R#禁用时会遇到相同的行为。
答案 0 :(得分:3)
fixed
keyword是.net,您不能使用keywords作为类名。
fixed语句阻止垃圾收集器重定位可移动变量。固定语句仅允许在不安全的上下文中使用。 Fixed也可用于创建固定大小的缓冲区。
fixed语句设置一个指向托管变量的指针和"引脚"在执行语句期间的那个变量。如果没有修复,指向可移动托管变量的指针将没什么用处,因为垃圾收集可以无法预测地重定位变量。 C#编译器只允许您在固定语句中为托管变量分配指针。
参考:https://msdn.microsoft.com/en-us/library/f58wzh21.aspx
<强>的更新的强> 最好不要使用任何C# keywords作为类,成员,属性名称。