Referenz oder Instanz


LucyLoreley

Grünschnabel
Hallo ihr lieben
Ich hab ein kleines Problem ich weis nicht genau was diese Zeile bewirken soll oder was sie macht. Ist das eine Referenz oder eine Instanz Kann mir ja jemand helfen
ColumnInfo ist eine Klasse.
aTabCol1 ist ein Array.
Code:
ColumnInfo ci1 = aTabCol1[i] as ColumnInfo;
Vielen Dank für eure Hilfe
 

Norbert Eder

Erfahrenes Mitglied
Die Frage nach Verweis oder Referenz stimmt hier nicht ganz.

Mit as werden Typumwandlungen zwischen kompatiblen Typen vorgenommen.
 

erhardt

Erfahrenes Mitglied
Das 'as' Statement ist eine kuerzere Schreibweise fuer das hier:

Code:
if(aTabCol1[i] is ColumnInfo)
   return (ColumnInfo)aTabCol1[i];
else
   return null;
Wenn das casting also fehlschlaegt, wird 'null' zurueckgegeben anstatt das eine 'InvalidCastException' geschmissen wird.
Deshalb waere es ratsam nach der Benutzung von 'as', das Objekt auf 'null' zu pruefen (if(ci1 != null){..}) sonst bekommst du spaeter noch eine 'NullReferenceException'.