User Tools

Site Tools


vba:propertyletget

This is an old revision of the document!


[VBA] Class Property Let/Get

VBA unterscheidet zwischen Objekten und 'normalen' Datentypen. So auch bei den Propeties einer UserClass.
Je nachdem muss man mit LET oder mit SET arbeiten. Wenn man jedoch nicht weiss, ob ein Objekt oder ein Type daherkommt und das für die Klasse auch nicht relevant ist, kann man auch beide Versionen auf dasselbe Property umsetzen.

Private src AS Variant      'Array, Collection oder Disctionary
 
'/**
' * Property Source beinhaltet die Quellliste. Das kann ein Array, eine Collection oder ein Dictionary sein.
' * Die letzteren Beide sind Objekte
' */
 
' Setzen eines Types
Public Property Let Source(ByRef iList As Variant)  'Setzen für Arrays
    me.src = iList
End Property
' Setzen eines Objektes
Public Property Set Source(ByRef iList As Variant)  'Setzen für Objekte
    Set me.src = iList
End Property
 
' Und auch wieder ausgeben. Hier muss ich im Code nach Objekt/Type unterscheiden
Public Property Get Source() As Variant
    If isObject(me.src) Then 
        Set Source = me.src   'Objekt
    Else
        Source = me.src       'Type
    End iF
End Property

Siehe auch das Property Source in meiner Iterator-Klasse

vba/propertyletget.1394783676.txt.gz · Last modified: 14.03.2014 08:54:36 by yaslaw