【发布时间】:2009-05-27 03:43:55
【问题描述】:
我创建了一个新的类文件,Visual Studio 默认不公开它。 我可以更改吗?
【问题讨论】:
-
这似乎与stackoverflow.com/questions/39903/… 完全相同,并且该问题也有一个可接受的答案。
标签: visual-studio
我创建了一个新的类文件,Visual Studio 默认不公开它。 我可以更改吗?
【问题讨论】:
标签: visual-studio
默认情况下,没有访问说明符的类是内部的,成员默认为私有。这样可以尽可能地限制可见性,从而增加封装性。
不考虑就公开一个新类会破坏封装的整个想法。
VS 用来创建新类的类模板可以在这个 zip 文件中找到(如果是 CSharp):
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\CSharp\1033\Class.zip 或 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033 使用 VS Orcas 时
打开 zip 文件,添加 public 关键字,保存它就完成了。每次添加课程时,它都会公开。希望这会有所帮助。
【讨论】:
默认代码模板还有其他问题 - 例如,它们不符合开箱即用的 StyleCop,因为“使用”行位于命名空间声明之外。
您可以使用 ReSharper 从模板创建您的类文件,允许您将所需的任何代码放入模板中。这就是我所做的:)
【讨论】:
我听说过对此的抱怨,我不认为这是一个可以更改的选项。
【讨论】:
您的意思是该课程本身在其他课程中不可用?还是您的意思是文件的所有内容都默认为私有访问?
如果您希望该类在其他类中可见,您只需要确保命名空间在其他类中可见(使用 c# 中的“using”关键字,或者将它们放在同一个命名空间中)。
不知道你说的是哪种语言,但是在c#中所有的方法、成员变量、属性等都默认为私有的。如果您希望它们公开,则需要为每个成员单独指定。我认为不可能在 c# 中改变这种行为。
【讨论】:
我不认为您可以更改 VS 中的选项,以便默认情况下创建的所有类都是公共的(但我会研究它。)
我认为,除非您非常具体地需要将所有类声明为公共(我想不出任何),否则您应该保留默认值。这使您可以准确地决定哪些类是公共的,哪些应该保留在内部。在我看来,一个好的设计选项会规定类默认声明为“内部”。
【讨论】: