我用一个共享文件来保存公司名称,版权,版本,.在解决方案中的所有项目之间保持同步。此文件还包含
[assembly: CLSCompliant(true)]我需要将我的DLL标记为符合CLS的。在asp.net web窗体应用程序中,与Default.aspx关联的类称为_Default,这与CLS不兼容,因此会生成警告。
将类重命名为默认值似乎还可以。有什么不好的地方吗?为什么这个类叫_Default?
发布于 2014-07-25 11:26:59
您只能使用Default,因为C#是区分大小写的。default是一个保留词。
由于_也可以与VB.NET一起使用,并且在VB中也保留了Default (不区分大小写),所以genrator/模板添加了额外的VB.NET。
标准模板将其命名为Default.ASPX,因为这是IIS默认配置中的“标准文档”。
您的类名并不一定要与ASPX文件(URL)名称匹配,您可以将它称为class DefaultPage或其他什么。只需修复Inherits="..."属性即可。
发布于 2014-07-25 11:30:24
类的命名是一种算法。通常,它将基于文件的名称,因此foo.aspx和Bar.aspx将生成foo和Bar类。
由于default是C#关键字(区分大小写),Default是VB.NET关键字(不区分大小写),所以自动命名使用下划线来避免这些关键字。
(值得注意的是,CLSCompliance在ASP.NET项目中通常并不重要,因为在这些项目中,不会有其他使用程序集的.NET语言编写的代码,这使得这种避免关键字的方法更加合理。)
更改名称没有什么害处;只是为了方便您不必键入该代码,才提供了名称。
我建议避免使用Default,部分原因是因为您将与VB.NET中的关键字发生冲突,但主要是因为您不是一个算法,所以您应该能够为该类(及其相关页面)提供一个更有意义的名称。尽管如此,我承认在编写代码时除了“成为该文件夹的默认页面”之外,我还经常使用DefaultPage。
https://stackoverflow.com/questions/24954677
复制相似问题