【问题标题】:struggling to create an object a, create a collection of B add the collection to A努力创建一个对象a,创建一个集合B 将集合添加到A
【发布时间】:2015-10-01 15:52:25
【问题描述】:

使用 VBA 我正在尝试创建一个简单的对象模型并努力理解失败。我没有收到任何错误。

这是场景: 我创建了一个房子对象 然后是一个房间对象,然后是一个名为 myrooms 的房间集合。每个都进展顺利,并接受检查。 房子对象有一个属性叫做房间类型的房间 两个对象都存在且没有错误。 在家里我有。 . .

private pRooms as rooms
 Property Let rooms(rm  As rooms)
   set pRooms = rm
 End Property
Property get rooms( )
  set rooms =pRooms 
End Property

在我写的代码中 set House.rooms = myRooms(myRooms 是我可以检查的有效集合)

然后我在监视窗口中查看 House 并且 .rooms 什么都不是

我在做什么?

【问题讨论】:

    标签: vba collections


    【解决方案1】:

    因为房间是一个集合,所以它是一个对象。您应该使用属性 Set 而不是属性 let

    附言我很惊讶您的代码没有产生错误。 顺便说一句,你为什么给现有类的属性同名?不要自找麻烦,我建议您将您的收藏重命名为 roomCollection 之类的名称。

       Private prooms as RoomCollection
       Public Property Set rooms(Byref rm  As RoomCollection)
           Set pRooms = rm
        End Property
    

    【讨论】:

      猜你喜欢
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多