Computed property array möglich?

Moin,
gerade ein Brett vorm Kopf.

Ich möchte eine Computed property als Array, damit ich es später auch im Inspector setzen kann.

// integer array als Beispiel
MyClass.ValueArray = Array(0, 0, 0, 0)

Oder gibt es eine andere Möglichkeit?

Danke

Nein, das ist nicht möglich. Benutze zwei Funktionen, eine für den “getter” und eine für den “setter”. Bei letzterem benutze “Assigns value As Integer” als Paramater, dass erlaubt das zuweisen eines Werts in der Form myVar = 123. Funktioniert natürlich nicht im Inspector.

Du kannst dir natürlich eine Hilfsproperty als String oder Text basteln, à la Initialvalue bei Listboxes z.B, in der du im Inspector z.B. die Werte kommasepariert einträgst und bei Initialisierung der Instanz dann auf die Setter-Methode überträgst.
Aber Arrays in computed properties, wie Eli schon sagte: Das geht leider nicht.

Danke Eli und Ulrich!

Die Idee mit dem String ist für mich die Lösung.

Falls es nur um Integer-Werte geht und der Text nur als Beschreibung in der IDE nötig ist, dann kannst Du auch eine Enum verwenden:

[code]Class MyClass Inherits Control

Enum MyEnum As Integer
A = 1
B = 2
C = 3
End Enum

Property MyProp As MyEnum

End Class[/code]
Im Inspector-Behavior-Dialog MyProp ankreuzen, und in der IDE sieht man dann die Werte A, B und C in einer Dropdown-Liste zur Auswahl.

Hallo Eli,
danke für den Tipp, kann ich an anderer Stelle gut gebrauchen.

Ich baue gerade ein Label-Control. Die vier Werte sind für den Randabstand zum Text. Die String-Variante ist schon passend, da ich damit variable mit der Parameteranzahl bin.