我试图创建一个类来保存数量可变的项(它们本身就是另一个类对象)。
我有第二课:
' Class 2 contain each individual quote elements (OTC and MRC) Private pOTC As String Private pMRC As String Public Property Get OTC() As String OTC = pOTC End Property Public Property Let OTC(Value As String) pOTC = Value End Property Public Property Get MRC() As String MRC = pMRC End Property Public Property Let MRC(Value As String) pMRC = Value End Property
然后类1包含类2的数组:
Private pCurr As String Private pQuote(20) As Class2 Public Property Get Curr() As String Curr = pCurr End Property Public Property Let Curr(Value As String) pCurr = Value End Property Public Property Set Quote(Index As Integer, cQuote As Class2) Set pQuote(Index) = cQuote End Property Public Property Get Quote(Index As Integer) As Class2 Quote = pQuote(Index) End Property
我想做的是:
Dim myQuotes As Class1 Set myQuotes = New Class1 myQuotes.Curr = "GBP" myQuotes.Quote(3).OTC = "1200"
第一行设置myQuotes。Curr是没有问题的,但是当我试图在数组中设置一个值时,下一行错误与运行时91对象变量或块变量未设置
有没有关于我做错了什么以及如何设置类数组中元素的值的指针?
提前谢谢!
也许应该是这样
Public Property Let Quote(Index As Integer, cQuote As Class2)
Set pQuote(Index) = cQuote
End Property
您需要将它们设置为Class1中的新Class2:
For intI = LBOUND(pQuote) to UBOUND(pQuote)
Set pQuote(intI) = New Class2
Next IntI
就像你在最终脚本中对第一类所做的那样。
当你myQuotes时。Quote(3)
您调用属性获取Quote,它有一个问题。
您的内部
Class2
数组没有实例化,因此pQuote(Index)
引用无
的数组元素,然后您将myQuote. Quote(3). OTC=
尝试将其分配给无
失败。
您需要确保实例化了
pQuote(Index)
;您可以按需执行此操作:
Public Property Get Quote(Index As Integer) As Class2
If (pQuote(Index) Is Nothing) Then Set pQuote(Index) = New Class2
Set Quote = pQuote(Index)
End Property
(注意所需的
设置
)
或者通过将初始化例程添加到
Class1
:
Private Sub Class_Initialize()
Dim Index As Long
For Index = 0 To UBound(pQuote)
Set pQuote(Index) = New Class2
Next
End Sub
这是我的代码: 我想将的值设置为,我该怎么做?我试过,
因此,我的基本内容是:、和。(我有一些其他类来建立Arduino连接) 这是我在中的start方法: 编辑:以下是我的操作。java: 我什么都试过了,但没有成功...如果有人能帮我,我会非常感激的。
已更新-arr3中的id属性的顺序应与arr1中的id属性的顺序相同
问题内容: 我有两节课。和。 我有一个要在中使用的功能。我当时正在考虑将的引用传递给的构造函数,然后再调用该函数。 那行得通吗?有人可以给我举个例子吗? 提前致谢! 问题答案: 是的,它将起作用。这是一种不错的方法。您只需传递A类的 实例 : 然后您可以拥有:
我正在努力找出导致这个问题的原因。我对Java和BlueJ完全陌生,但我已经研究了几个小时,无法找出问题的原因。不断收到错误消息“不兼容类型:泥水匠无法转换为学徒”。非常感谢您的帮助。 //程序的目的:创建一个混合阵列,以容纳两个不同的学徒对象——泥水匠和木匠//泥水匠和木匠//然后将每个对象的所有细节显示在屏幕上。 学徒班就是这样的
假设我们有一个这样定义的对象A: 出于某种原因,我需要创建第二个对象B,它只具有对象A的前两个属性: 所以我的问题是:将对象A复制到对象B的最佳方法是什么?我一直在逐个复制获取者和设置者的属性,但有些事情告诉我一定有更好的方法来做到这一点!特别是当对象将具有很多属性时,我必须编写一行又一行的代码,只是为了将它们全部复制到第二个对象B... 多谢了:) 编辑:我一直被一个“另一个问题的可能重复”提醒