Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基本类命名和可见性问题_C#_Wpf_Visual Studio 2008_Class_Visibility - Fatal编程技术网

C# 基本类命名和可见性问题

C# 基本类命名和可见性问题,c#,wpf,visual-studio-2008,class,visibility,C#,Wpf,Visual Studio 2008,Class,Visibility,我总是看到有人给我代码(我指的是关于SO之类问题的代码示例),比如: 类MyData{ 可观察采集颜色; 可见采集果实; 可观察收集对; public void MatchCurrentSelection(){ ..... 等 } } } 每次我开始在VisualStudio中编写代码时,它都会强制我声明可见性,并且总是包含在名称空间中。人们会因为名称空间不相关而忽略它吗?为什么我总是被迫设置可见性?(默认情况下,它会自动附加private) 项目名称空间 { 公共类MyData { 私人可

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

类MyData{
可观察采集颜色;
可见采集果实;
可观察收集对;
public void MatchCurrentSelection(){
.....
等
}
}
} 
每次我开始在VisualStudio中编写代码时,它都会强制我声明可见性,并且总是包含在名称空间中。人们会因为名称空间不相关而忽略它吗?为什么我总是被迫设置可见性?(默认情况下,它会自动附加private)

项目名称空间
{
公共类MyData
{
私人可观察收集颜色;
私人可观察收集的果实;
...
等
我肯定错过了什么…怎么回事


谢谢

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

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

我想这是因为公开会有后果,所以你应该明确地这样做

就我个人而言,我希望我的类在默认情况下是公共的,因此我在以下位置编辑了VS模板: c:\ProgramFiles(x86)\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Code\1033\Class.zip

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

如果“给我代码”,您的意思是提供stackoverflow的示例/示例,那么为了简洁起见,可能需要使用可见性和名称空间,我知道我是这样做的


这与大量示例代码的原因相同(在这里以及msdn.microsoft.com之类的地方)ommit大部分的错误检查/处理,因为有了这些,就很难看到作为示例提供的特定代码位的意图。

如果你正在构建非常简单的独立程序,那么默认情况下公开类是可以的。我想。我不知道,我对这个想法有一种发自内心的情感反应。我应该躺下休息。我把课堂看作是积木,私人的东西是课堂内部的东西(而不是课堂本身)。很抱歉造成了这种不好的感觉:-)
    class MyData{
       ObservableCollection<Color> Colors;
       ObservableCollection<Fruit> Fruits;
       ObservableCollection<Pairs> Pairs;

       public void MatchCurrentSelection(){
            .....
etc
            }
       }
    } 
    namespace TheProject
    {
        public class MyData
        {
            private ObservableCollection<Colors> Colors;
            private ObservableCollection<Fruits> Fruits;
...

    etc