在 Java 中,文件名必须是该 java 文件中定义的公共类名。C#有类似的要求吗?我可以有一个 A.cs 文件,里面只定义一个公共 B 类吗?谢谢,
问问题
15411 次
4 回答
28
不,没有类似的要求。
是的,你可以这样做。
然而,这被认为是不好的做法。
如果您这样做,Microsoft StyleCop 会警告您,但一切都会正常编译。
于 2010-02-08T20:33:23.140 回答
26
不,不要求文件名与文件中定义的单个公共类匹配。事实上,包含文件的名称和文件中定义的任何类之间没有必要存在关系。此声明中隐含的是,甚至可以在同一个封闭文件中定义多个类(即使有多个公共类,与 Java 不同)。partial
此外,可以使用关键字在多个文件中定义一个类。
然而,最佳实践是为每个文件定义一个类,并为文件赋予与正在定义的类(或结构等)相同的名称。
于 2010-02-08T20:33:20.227 回答
3
不,在 C# 中,您不必将类命名为与文件相同。
沿着类似的路线,您可以public
在文件中包含多个类。Java 只让你拥有一个。
这有助于在一个文件中定义一些公共枚举。几个小班的。
然而,在一个文件中投入太多是不好的做法。
于 2010-02-08T20:33:44.793 回答
2
可以有一个A.cs
包含公共类的文件,B
但这被认为是不好的做法。
于 2010-02-08T20:34:24.293 回答