У меня есть класс, который обрабатывает несколько числовых массивов (типа double), а также должен обрабатывать массив дескрипторов, который будет включать в себя смесь строк и целых чисел, которые должны использоваться как строки и числа соответственно.Поэтому я решил сделать свойство массива типа варианта (а не вариант, содержащий массив).Но этот, похоже, не работает, в то время как двойные массивы типа работают.
В частности, это свойство типа array double отлично подходит для получения или возврата массива одновременно:
Private p_dbNumericArray() As Double
Public Property Let NumericArray(Value() As Double)
p_dbNumericArray() = Value()
End Property
Public Property Get NumericArray() As Double()
NumericArray() = p_dbNumericArray()
End Property
Но когда я пытаюсь использовать тот же шаблон с массивом варианта type,свойство Get возвращает пустой / нераспределенный массив вариантов:
Private p_vaVariantArray() As Variant
Public Property Let VariantArray(Value() As Variant)
p_vaVariantArray() = Value()
End Property
Public Property Get VariantArray() As Variant()
VariantArray() = p_vaVariantArray()
End Property
Обтекание массива в варианте (вместо наличия массива варианта варианта), конечно, работает нормально:
Private p_vaVariantArray As Variant
Public Property Let VariantArray(Value As Variant)
p_vaVariantArray = Value
End Property
Public Property Get VariantArray() As Variant
VariantArray = p_vaVariantArray
End Property
Известно ли и является ли стандартным, что шаблон, который работает для Dim D () As Double, не работает для Dim V () As Variant, в свойствах?