C# Explizite Typumwandlung
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
aktuellen instanz
angeben
code
compiler
eigene klassen
fehler
formulieren
funktion
instanz
objekt
raten
sagen
system
typ
type
-
Hallo liebe Lima-City-Community!
Wie die Überschrift schon verrät, möchte ich eine Explizite Typumwandlung für meine DataRows vornehmen. Da ich aber nicht jedes Mal den DatenTyp der jeweiligen DataColumn angeben möchte, habe ich mir gedacht, dass die Typumnwandlung einfach dem Data-Column-Typ angeglichen wird. Ich habe mir das folgendermaßen vorgestellt:
void function ( object value ) { DataRows row["Column1"] = ( DataSetObject.Tables["Tablename"].Columns["Columnname"].GetType() ) value; }
Allerdings nimmt mein Compiler diesen Code nicht an! Er möchte, dass ich ein ";" vor value setze.
Beitrag zuletzt geändert: 16.10.2010 14:15:59 von spuglisi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also Ich hab ma geschaut bei mir und in der MSDN Library gibt es keine DataRows nur DataRow, ebensowenig DataSetObject in System.Data. Hast du eine andere using?
Wenn ich das bei mir einfüge kommen da gleich 8 Fehler.
Sind DataRows und DataSetObject eigene Klassen von dir?
Beitrag zuletzt geändert: 18.10.2010 21:08:30 von fenox -
Die Funktion GetType() liefert eine Type-Instanz, die den exakten Laufzeittyp der aktuellen Instanz darstellt.
Sprich ein ganz gewöhnliches Objekt.
In deinem Code möchtest du value explizit casten. Gibst aber keinen Typ an, wie z.B. der generische (DataColumn), sondern ein Objekt (man könnte hier auch Variable dazu sagen).
Deinem Code nach, scheint value ein Objekt zu sein, dessen Typ (Klasse) von DataColumn geerbt hat.
Ich würde dir raten, value auf seinen Typ zu prüfen und einen korrekten Cast zu formulieren.
if (value is MyStringDataColumn) { row["Column1"] = (MyStringDataColumn) value; } if (value is MyInt32DataColumn) { row["Column1"] = (MyInt32DataColumn) value; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage