c# – 为什么#region会创建编译错误?
为什么非关闭的#region导致编译器错误?毕竟,该区域本身对编译的代码完全没有影响,对吧?
我相信这是因为它是一个预处理器指令,但为什么呢?毕竟它不像其他指令那样使用. class Application { #region Whatever <- Causes an error. static void Main(string[] c) { } } 为什么不能被忽略?或者是否有一个我不知道的关于#region解释它为什么被编译的功能? 编辑:我得到的是这个例子没有编译,因为没有相应的#endregion.但是它不应该被视为xml注释中缺少的结束标记吗?我的意思是,它有同样的重要性不是吗? 第二次编辑:我希望了解使#region成为预处理器指令的设计决策.为什么不只是一种注释,IDE会将其识别为可折叠的代码区域? 解决方法
因为specs这么说.
是的,它们不会成为编译程序的一部分,但是其他预处理器指令可以定义,程序的一部分,例如#if DEBUG(包括某些东西). 2.5 Pre-processing directives
对于你的问题:
区域有助于IDE(Visual Studio)的目的,在没有区域的情况下实现折叠/扩展代码的相同功能将非常困难(如果不是不可能的话). (这是我的猜测,只有微软开发团队的成员才能回答这个问题) Region directive:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |