Ein solcher Aufruf ist mir noch nicht geläufig. Wo liegt der Unterschied wenn ich stattdessen mit dem Objekt a arbeite? Also a.readStuff.
Man braucht für die Initialisierung kein weiteres Interface und muss diese Funktionalität auch nicht nach außen veröffentlichen. Danach packt man das Objekt in eine Interfacevariable und aktiviert damit die Referenzzählung.
Dieses Interface kann dann auf die zur Initialisierung notwendigen Routinen nicht zugreifen und es gibt auch kein anderes Interface, auf das man dafür casten könnte.
Theoretisch kann man auch hinterher noch auf den Objekttyp casten, sofern man sich im gleichen Modul der Anwendung befindet (selbe Exe, selbe
DLL, ..), aber das sollte bei sauberer Implementierung aller Schnittstellen nicht notwendig sein.