gpt4 book ai didi

vba - 为什么对私有(private)变量的更改也会对公共(public)变量进行?

转载 作者:行者123 更新时间:2023-12-02 07:21:28 25 4
gpt4 key购买 nike

我有一个公共(public)变量Public AssetFamilyCollection As New Collection,它是我创建的AssetFamily类的集合。

在子组件中,我使用 Dim familyChosen As AssetFamily 创建一个 AssetFamily 实例。然后,当我在集合中确定了我想要的 AssetFamily 时,我会执行 Set familyChosen = AssetFamilyCollection(i)

在某些时候,我对 familyChosen 属性进行了更改,并且我注意到这些更改也对 AssetFamilyCollection(i) 进行了

我认为familyChosen是一个私有(private)变量,是AssetFamilyCollection(i)的副本,并且仅存在于子内部。显然不是。

为什么公共(public)和私有(private)变量会受到更改的影响,而不是子变量中的私有(private)变量?

谢谢!

最佳答案

不,它不是那样工作的。

变量 familyChosen 实际上是对与数组元素所引用的同一对象的引用。

因此您可以通过该引用或通过数组元素修改该对象。

关于vba - 为什么对私有(private)变量的更改也会对公共(public)变量进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42863653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com