在Visual Studio中添加新类时,它始终创建时不使用修饰符,并使类成为内部类.
class MyClass
{
}
Run Code Online (Sandbox Code Playgroud)
我希望我的类默认创建为公共类.
为什么默认是内部的?
你更喜欢什么?
Ant*_*lev 28
internal默认情况下制作类对我来说非常有意义:保持对自己的私有,并且只明确暴露真正需要暴露的部分:其他一切只是实现细节,不应该对外界可见.
如果你想测试你的internal类,.NET 2.0以后引入了一个名为InternalsVisibleToAttribute的新属性,
指定仅在当前程序集中通常可见的类型对另一个程序集可见.
如果这真的让你烦恼,请看%ProgramFiles%\Microsoft Visual Studio 8\Common7 IDE\ItemTemplates\CSharp\1033\Class.zip.这是一个模板,您可以根据自己的需要进行更改.ReSharper具有类似的功能,但可以从UI内直接访问.
Aar*_*man 15
默认情况下为Visual Studio 2012创建一个Public类:
编辑此文件: C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class\Class.cs
看起来像这样:
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
$if$ ($targetframeworkversion$ >= 4.5)using System.Threading.Tasks;
$endif$
namespace $rootnamespace$
{
public class $safeitemrootname$
{
}
}
Run Code Online (Sandbox Code Playgroud)
更多信息:http://aaron-hoffman.blogspot.com/2013/05/edit-default-visual-studio-2012-item.html
C# 倾向于将所有内容默认为必要的最小范围。这是一个很好的约定,并在 Skeet 的书中引用(C# In Depth,p 224 "Note/Trivia"):
[属性是] 唯一需要“私有”的地方——在 C# 的其他任何地方,任何给定情况下的默认访问修饰符都是可能的最私有的。换句话说,如果某些东西可以被声明为私有的,那么完全省略访问修饰符将默认它是私有的。这是语言设计的一个很好的元素,因为它很难被意外弄错:如果你想要一些比它更公开的东西,当你尝试使用它时你会注意到。
| 归档时间: |
|
| 查看次数: |
19113 次 |
| 最近记录: |