Full Property Declaration
A full property declaration looks a lot like a declaration for a class. It implicitly opens a namespace and allows for overloaded setters, member fields, helper methods, constructors/destructors etc.
property g_prop
{
int m_x = 5; // member field with in-place initializer
int get ()
{
return m_x;
}
set (int x)
{
m_x = x;
update ();
}
set (double x); // overloaded setter
update (); // helper method
}
A body of a method can be placed right away (Java-style inline body definition) or outside – maybe even in another file (C++-style out-of-line body definition).