2009-05-27 81 views
7

WIen我创建一个新的类文件,Visual Studio默认情况下不会公开它。 我可以改变这个吗?为什么我的类默认在Visual Studio中是私有的?

+0

这似乎是http://stackoverflow.com/questions/39903/vs-net-defaults-to-private-class的确切副本,该问题也有一个可接受的答案。 – 2009-06-30 16:41:24

回答

-1

我听说过这方面的投诉,我不相信这是一个可以改变的选项。

-1

你是说这个类本身在其他类中不可用?或者你的意思是文件的所有内容默认为私人访问?

如果您希望该类在其他类中可见,则只需确保该名称空间在其他类中可见(在c#中使用“using”关键字,或者只将它们放在相同的名称空间中) 。

不知道你在说什么语言,但在c#中的所有方法,成员变量,属性等默认为私有。如果你想让他们公开,你需要为每个成员单独指定。我不认为有可能在c#中改变这种行为。

1

默认代码模板还有其他问题 - 例如,它们不符合开箱即用的StyleCop,因为“using”行在命名空间声明之外。

您可以使用ReSharper从模板创建您的类文件,允许您将所需的任何代码放入模板中。这就是我所做的:)

11

默认情况下,没有访问说明符的类是内部的,而成员默认为私有。这样可以尽可能地限制可视性,从而增加封装。

在没有考虑的情况下创建一个新的类,破坏了封装的整个想法。

该VS用来创建一个新的类的类模板可以在这个zip文件中找到(在CSHARP的情况下):

C:\ Program Files文件\微软的Visual Studio 8 \ Common7 \ IDE \的ItemTemplate \使用VS Orcas时使用CSharp \ 1033 \ Class.zip或 C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033

打开zip文件,添加public关键字,保存它和你完成了。每次添加课程时都会公开。希望这可以帮助。

Source

+0

Doh!你太快了! – 2009-05-27 03:57:02

-1

我不认为,这样创建的所有类都默认公众可以更改VS的一个选项(但我会考虑它。)

我认为,除非该你有一个非常明确的需求,所有的类都被公开(我想不出)你应该保持默认状态。这使您可以决定哪些类是公开的,哪些应该保持内部的。在我看来,一个好的设计选项将决定这些类在默认情况下被声明为“内部”。

相关问题