Du hast Recht, mein Punkt 2 ist Blödsinn.
Delphi-Quellcode:
MyVar
as TSomeType;
// erzeugt Overhead und eine Exception, wenns nicht passt.
TSomeType(MyVar);
// ist schneller, aber gefährlich, wenns nicht passt.
...
If MyVar
is TSomeType
Then
With MyVar
as TSomeType
Do // Ist doppeltgemoppelt, hier reicht der einfache Typecast
...
If MyVar
is TSomeType
Then
With TSomeType(MyVar)
Do
Gegen Typecasting ist übrigens Nichts einzuwenden.