繁体   English   中英

vb.net创建对对象的引用

[英]vb.net create a reference to an object

我需要创建对对象的引用,其中Prog2是对Prog1的引用这里是我需要的:

dim Prog1 as myclassprogressbar
dim Prog2 as myclassprogressbar

Prog1.initialize()
Prog1.max=10
Prog1.min=1
Prog1.value=5

Prog2.initialize()
Prog2.max=10000
Prog2.min=100
Prog2.value=500


Prog2=Prog1

Prog1.value=7


debug.print Prog2.value

7

是否可以像这样的代码创建对对象的引用?

您需要使用New实例化该类。 然后假设myclassprogressbar是一类,因为类是引用类型,可以分配后Prog2 = Prog1 ,可变Prog2将指向所述同一对象Prog1指向。

因此,如果您将某些内容分配给Prog1.Value ,则由于Prog2指向相同的对象,因此Prog2.Value将与Prog1.Value相同。

定义Prog1和Prog2之后,每个变量都指向内存中的不同对象:

Variable         | Memory
---------------------------------------------------
Prog1        --> | [Min:1     Max:10     Value:5  ]
Prog2        --> | [Min:100   Max:1000   Value:500]

设置Prog2 = Prog1后,它们都指向内存中的同一对象,并且分配给Prog2的对象唯一发生的事情是该对象仍在内存中,只是失去了对该对象的引用宾语:

Variable         | Memory
---------------------------------------------------
Prog1, Prog2 --> | [Min:1     Max:10     Value:5  ]
                 | [Min:100   Max:1000   Value:500]

因此,如果您设置Prog1.Value = 7Prog2.Value = 7 ,则结果是相同的:

Variable         | Memory
---------------------------------------------------
Prog1, Prog2 --> | [Min:1     Max:10     Value:7  ]
                 | [Min:100   Max:1000   Value:500]

您可以了解有关值类型和引用类型的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM