我最近尝试使用 ASP.Net MVC 在 Visual Studio 2012 中创建一个名为 Fixed
的新区域,它会将其重命名为 _Fixed
我可以返回并将其重命名为 Fixed
并且构建时不会出现错误 - 但默认情况下,它会将其重命名为 _Fixed
。
为什么会发生这种情况?我尝试搜索了一下,但找不到答案。
更新01:在Stephen发表评论后,我尝试在Visual Studio 2015中运行它,而VS2015没有进行重命名。它让区域固定
。因此,我认为这是特定于 Visual Studio 2012
的。
此外,这与 Resharper 没有任何关系,因为我在禁用 R# 的情况下也得到了相同的行为。
最佳答案
固定
是keyword是 .net ,您不能使用 keywords作为类名。
fixed 语句可防止垃圾收集器重新定位可移动变量。固定语句仅允许在不安全的上下文中使用。固定也可用于创建固定大小的缓冲区。
fixed 语句设置一个指向托管变量的指针,并在语句执行期间“固定”该变量。如果没有固定,指向可移动托管变量的指针将没有什么用处,因为垃圾收集可能会不可预测地重新定位变量。 C# 编译器只允许您在固定语句中分配指向托管变量的指针。
引用:https://msdn.microsoft.com/en-us/library/f58wzh21.aspx
更新 最好不要使用任何C# keywords作为类、成员、属性名称。
关于asp.net - 为什么 ASP.Net MVC 将我的 "Fixed"区域重命名为 "_Fixed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33250425/