====== Property ======
The property statement can have different forms in X# (it is the .NET equivalent for access/assign in VO).
The "full" version (read and write):
property MyProp as string
get
return _cMyProp
end get
set
_cMyProp := value
end set
end property
The same in a one-line syntax:
property MyProp as string get _cMyProp set _cMyProp := value
Please note that there is no "return" in the get accessor, and no end statements.
An "auto" property (that is a property that defines also the storage):
property MyProp as string auto
Of course you can also define one accessor as static:
property MyProp as string get _cMyProp static set _cMyProp := value
or define only the get (read) or set (write) accessor:
property MyProp as string get _cMyProp
You can even put more statements in a oneline property, using a comma as separator:
property MyProp as string get _cMyProp set _cMyProp := value, self:OnPropertyChanged("MyProp")
And nobody inhibits you to use more sofisticated code in a property:
public virtual property CloseButton as RelayCommand get self:_Get() set self:_Set( value )