Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
.net 访问隐藏的共享/静态变量_.net_Scope - Fatal编程技术网

.net 访问隐藏的共享/静态变量

.net 访问隐藏的共享/静态变量,.net,scope,.net,Scope,为此: class outer public shared X as string = "" class inner public shared sub test() Dim s as string s = X ' refers to the shared (static) variable in outer end sub end class end class 测试方法中对X的引用是对外部类中声明的共享

为此:

  class outer
    public shared X as string = ""
    class inner
      public shared sub test()
        Dim s as string
        s = X ' refers to the shared (static) variable in outer
      end sub
    end class
  end class
测试方法中对X的引用是对外部类中声明的共享变量的引用,但是,如果我的内部类以该名称声明了一个变量(使外部类中的共享变量黯然失色),我如何获得对它的访问权

  class outer
    public shared X as string = ""
    class inner
      public X as string = "x"
      public shared sub test()
        Dim s as string
        s = X ' this fails because it's an attempt to access an instance variable
      end sub
    end class
  end class

尝试指定外部类的名称,如下所示:

类外部
公共共享X为String=“bar”
班级内部
Public X As String=“foo”
公共共享子测试()
尺寸s为字符串=X'foo
尺寸t为字符串=外部.X'条
端接头
末级
末级

我已经试过了,但语法似乎不正确。编译器抱怨:“错误:'outer'未声明。由于其保护级别,它可能无法访问”,但我不明白为什么…@ekkis我刚刚尝试过它,并且能够让它正常工作。也许
outer
需要是公共的。内部类与外部类没有特殊的关系,只是可以访问私有部分。它将需要对外部对象的引用。