Versuch dich doch mal an einem Syntax in dem du eine bedeutende Menge an Code gegenüber klassischer Property Implementierung einsparen könntest und alle denkbaren Varianten von "will aber noch etwas hinzufügen" (näherungsweise) abdeckt. Da sollte schnell auffallen das der Gewinn an Kompaktheit so gering ist das sich das kaum lohnt. Gegenüber deinem Syntax mit =? fehlt doch nur noch die eine Zeile mit der Definition des dahinterliegenden Feldes.
Im allgemeinen Fall lohnt sich bei sowas dann einen Blick in die Aspect orientierte Ecke der Programmierung. In C# dann sowas wie
PostSharp wo man dann per Attribute Verhalten an eine Auto Property dranschrauben könnte. Das ist aber in diesem Fall mit Kanonen auf Spatzen geschossen