.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
需要是公共的。内部类与外部类没有特殊的关系,只是可以访问私有部分。它将需要对外部对象的引用。