我使用共享文件来保持公司名称,版权,版本......在解决方案中的所有项目之间保持同步。该文件还包含
[assembly: CLSCompliant(true)]
我需要将我的DLL标记为符合CLS。在asp.net Web表单应用程序中,与Default.aspx关联的类称为_Default,并且不符合CLS并生成警告。
将类重命名为Default似乎没问题。有什么缺点吗?为什么这个类叫_Default?
答案 0 :(得分:3)
您只能使用Default
,因为C#区分大小写。 default
是保留字。
发布者/模板添加了额外的_
,因为ASP.NET也可以与VB.NET一起使用,而Default
(不区分大小写)也在VB中保留。
标准模板将其命名为Default.ASPX
,因为它是IIS的默认配置中的“标准文档”。
您的类名实际上不必与ASPX文件(URL)名称匹配,您可以将其称为class DefaultPage
或其他名称。只需修复Inherits="..."
属性即可。
答案 1 :(得分:1)
类的命名是算法。通常它会将名称基于文件的名称,因此foo.aspx
和Bar.aspx
将导致foo
和Bar
类。
由于default
是C#关键字(区分大小写)而Default
是VB.NET关键字(不区分大小写),因此自动命名使用下划线来避免这些关键字。
(值得注意的是,在ASP.NET项目中,CLSCompliance通常不是非常重要,因为使用该程序集不会成为使用其他.NET语言编写的其他代码,这使得这种方法成为可能。避免使用关键词更合理。)
更改名称没有坏处;该名称仅提供给您,以方便您停止键入该代码。
我建议避免使用Default
,部分原因是因为您要在VB.NET中与关键字发生冲突,但主要是因为因为您不是算法,所以您应该能够想到该类(及其相关页面)的作用更有意义。也就是说,我承认经常使用DefaultPage
时,我真的无法想到"是该文件夹的默认页面"在编码时。