Het leegmaken* van de eigenschappen van een object vanuit de classe kan met verwijzing
(* ik bedoel hiermee het op 0 zetten voor getallen en het “” zetten van een string)
naar zichzelf met “ME”:
' Class voorbeeld
PUBLIC LongName AS String
PUBLIC Amount AS Float
...
PUBLIC Empty
WITH ME
.LongName = ""
.Amount = 0
END WITH
...
In de . notatie komen de PROPERTY eigenschappen voor, je zou dus kunnen denken:
' Class voorbeeld
PUBLIC LongName AS String
PUBLIC Amount AS Float
PROPERTY Named AS String
PROPERTY READ Numbered AS Integer
...
PUBLIC Empty
WITH ME
.LongName = ""
.Amount = 0
.Named = ""
.Numbered = 0
END WITH
...
Je krijgt geen foutmelding voor .Named = “”
Je krijgt wel een foutmelding voor .Numbered = 0 (“is read only”)
Blijkbaar wordt dus de “automatische” _Write methode aangesproken, die niet bestaat voor het READ-only PROPERTY (enkel leesbaar).
Je moet in de plaats daarvan de eventueel intern gebruikte variabelen op nul zetten:
' Class voorbeeld
PUBLIC LongName AS String
PUBLIC Amount AS Float
PROPERTY Named AS String
PROPERTY READ Numbered AS Integer
PRIVATE $sNamed AS String
PRIVATE $iNumbered AS Integer
...
PUBLIC Empty
WITH ME
.LongName = ""
.Amount = 0
END WITH
$sNamed = ""
$iNumbered = 0
END
...
PRIVATE SUB Named_Write(Value AS String)
$sNamed = Value
END