请问VB.NET中嵌入结构体中的函数如何访问父结构(或父类)中的变量?

VB.NET中嵌入结构体中的函数如何访问父结构(或父类)中的变量?例如:
structure a
dim i as integer
structure b
sub func()
此处需要访问父结构的 i(当然为同一个实例)
end sub
end structure
end structure

第1个回答  2017-05-12
把父结构当作参数传进去最省事。追问

谢谢!这种方式我用过,但是在内层结构中定时中断函数中需要访问就不能采用这种方法,中断函数不能传递参数了。也试过把父结构初始化时就传递到子结构中的变量(类型同父结构),但结构类型的传递是赋值而不是引用的,导致变量不能同步更新。

追答

解决方法很多。比如:干嘛非要用结构,用类多省事。或者,可以构造一个全局变量数组,把相关内容都索引在里面,要传递时只传递一个ID编号就可以了。

追问

你说的这种方式全局变量的话,好像只能定义为Shared类型才行,但那样的变量就成了与实例无关了,不行。我的变量是实例相关的。你说的不用结构用类,但是我的结构是是嵌套在类中的,之前不想单独在定义为一个类。谢谢你啊!

追答

变量是否依附于实例其实并不重要,能达到功能即可。全局变量只要线程安全就行,只要具体的ID编号与对应实例一一对应上,不用管它是不是全局的。记得之前曾有导师说过“凑,乃成功之母”,典型的实用至上主义,对我影响很大。就如之前所说,解决问题的方法多种多样,仔细想一想,不要受固有思想限制。

第2个回答  2017-05-19
还是直接使用类吧,结构体搞这么复杂干什么。。。。