Zitat von
Zerolith:
Wenn TxObject.Constructor = virtuell =>
- TxUser MUSS einen überschriebenen Constructor (mit inherited) haben
- TxObjects' Constructor WIRD aufgerufen.
- TxdbObject Constructor WIRD NICHT aufgerufen?
Du denkst viel zu kompliziert. Der Compiler ruft per se nie geerbte Konstruktoren auf. Die inherited-Klausel bewirkt das, es muss also explizit angegeben werden. Wenn du in TxObject wieder inherited aufrufst, wird TxdbObject.Create aufgerufen.
Des Weiteren musst du virtuelle Methoden oder Konstruktoren nicht überschreiben. Dies wäre lediglich der Fall bei abstrakten Methoden. Wenn kein expliziter Override angegeben wird, nimmt der Compiler einfach den der Elternklasse (d.h. hier TxObject).