定义了一结构如下,为何执行却不报错?private的结构中,怎么允许public的变量呢?private struct user
{
    public string type;
    public string name;
    public user(string typeIn,string nameIn)
    {
        type = typeIn;
        name = nameIn;
    }
}

解决方案 »

  1.   

    private的结构中为什么要允许public的变量呢?
      

  2.   

    把结构放在class里面使用,不希望在class外面被访问,当然,可以声明结构为private了,和声明了一个private的int变量一样阿
      

  3.   

    不可能的。为什么不用 public struct ?
      

  4.   

    private struct user
    好象不能这么写的吧话说回来,如果不能访问这个struct,那又怎么能访问他的成员,public也没意义了
      

  5.   

    刚又试了试,在class中定义可用private、public,但在namespace中则应该为public.
      

  6.   

    可以的,没问题。如果这是一个类,这是很有意义的:
    private class的只要被一个public的class继承一下,那么他所有的public成员就自动成为派生类的public的成员了。但对结构这的确没意义。
      

  7.   

    也不是完全没意义,DynamicMethod或者反射的时候也会检查这些权限。
      

  8.   

    class youclass
    {
      private struct yourstruct //一般嵌套类型会被定义为private 指的是用户无法直接访问yourstruct ,只能被youclass 访问
      {
           public int a; //这里定义为public 是指youclass 可以直接访问的yourstruct的成员 ,和 yourstruct 被定义为private 没有任何关系  }
    }
      

  9.   

    hdt(倦怠) 的想法和我尝试的结果一致。呵呵。