基本类命名和可见性问题

时间:2010-02-24 23:45:20

标签: c# wpf visual-studio-2008 class visibility

我总是看到人们给我代码(我的意思是关于SO之类的问题的代码示例),如:

    class MyData{
       ObservableCollection<Color> Colors;
       ObservableCollection<Fruit> Fruits;
       ObservableCollection<Pairs> Pairs;

       public void MatchCurrentSelection(){
            .....
etc
            }
       }
    } 

每次我开始在visual studio中编写代码时,它都会强制我声明可见性,并且总是包含在命名空间中。人们jsut是否将命名空间与其无关?为什么我总是被迫设置可见性? (默认情况下,它似乎会自动附加私有)

    namespace TheProject
    {
        public class MyData
        {
            private ObservableCollection<Colors> Colors;
            private ObservableCollection<Fruits> Fruits;
...

    etc

我必须在这里遗漏一些东西......这是什么故事?

由于

2 个答案:

答案 0 :(得分:5)

如果通过“给我代码”,你的意思是在stackoverflow上提供样本/示例,那么可见性和命名空间可能是为了简洁而省略的,我知道我这样做了!

同样的原因是大量的示例代码(这里以及像msdn.microsoft.com这样的地方)省略了大部分错误检查/处理,因为拥有所有这些使得更难以查看特定的意图提供一些代码作为示例。

答案 1 :(得分:0)

在VS 2008 SP1中向项目添加类时,通常应该获得作为项目默认名称的命名空间。这是我2分钟前得到的。

就类而言,默认模板没有可见性属性,因此它是内部的(不是私有的)。

我想这个想法是公开它会产生后果,所以你应该明确地做。

就个人而言,我更喜欢默认使用我的类,所以我编辑了VS模板: c:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033 \ Class.zip

在里面,class.cs文件是要编辑的文件。必须重新启动VS才能使更改生效。