用于自动生成的类的类修饰符

时间:2010-07-26 18:32:50

标签: c# visual-studio visual-studio-2008 visual-studio-2010 visual-studio-2005

当我向项目中添加一个新类时,将忽略Visual Studio中新创建的类的类修饰符/访问说明符,从而使其成为internal

我是否可以在Visual Studio设置中指定每当我要求创建新类时,请创建课程public

我查看了工具 - >选项菜单但找不到任何内容。我猜它可能位于我的文档\ Visual Studio xxxx 文件夹中的模板文件夹中。

4 个答案:

答案 0 :(得分:3)

是的,您可以更改文件模板(或仅提供辅助文件模板)like so。但是,在你这样做之前,我会问自己:是否真的需要 添加所需的辅助功能?当涉及到这一点时,我倾向于在实用主义方面犯错......如果我想要显着不同的模板,我可能会这样做。否则......嗯。

答案 1 :(得分:2)

您必须创建自己的模板才能执行此操作,或者使用代码段,或者使用ReSharper这样的工具,它具有自己的代码段机制。

然而,这可能是一个坏主意。你将把公开的东西公开,不需要公开。你最好以internal开始所有内容,并根据需要将它们公开。

答案 2 :(得分:2)

快速搜索出现了这个:

  

Prevent Visual Studio from adding default references and usings for new classes

答案表明您可以更改默认的类模板。

希望有所帮助。

答案 3 :(得分:2)

如果省略类的修饰符,则为:

  • 内部(非嵌套类)
  • private(在嵌套类上)

我只是认为我会把它扔出去(如果省略的话,它不是总是内部)。


但是,如果您真的想要更改模板,您通常会转到安装文件夹(我将使用默认文件夹):

** C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE **

在那里,您将找到各种模板文件夹。您正在寻找以下内容(如果您深入挖掘): C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class.zip

只需更改那里的Class.cs文件即可。哦,如果你搞砸了这里的原始版本:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;

namespace $rootnamespace$
{
    class $safeitemrootname$
    {
    }
}

您需要的版本:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;

namespace $rootnamespace$
{
    public class $safeitemrootname$
    {
    }
}