An den Speicherbereich zum Objekt, das vom Interface gekapselt wird? Hatte irgendwo in einem Thread auf Stackoverflow mal gelesen, dass die einzig saubere Methode wohl das Implementieren einer Methode/Property function GetObject: TObject
ist, welche in der konkreten Implementation des Interfaces dann Self
zurückgibt. Mal schauen, ob ich den Thread noch irgendwie finde; dort stand glaube ich auch beschrieben, was die Problematik bei normalen Casts war.
Edit 2:
Ab D2010 kannst du scheinbar auch den as
Operator verwenden (vermutlich aber weniger performant).
(Edit2) as soll weniger performant sein? OK...
Ich erkenne gerade den Nachteil meiner Idee... Falls das funktioniert. Ich muss dann ja wenigstens eine Implementation des Interfaces mit kompilieren.
ggf. hat das ungewollte Effekte... Abgesehen vom "Rattenschwanz" was noch automatisch mit kommen würde. e.g.
- Logging
- Multilinguale Exceptions
- Factory's
- uvm...
Generische Interfaces würden sowieso dann rausfallen...
Ich muss das erstmal alles gegeneinander abwägen. (Und testen)
Mavarik