Forums Neueste Beiträge
 

Typen-Übergabe

28/01/2010 - 11:49 von Jakob Brunner, Luzern Switzerland | Report spam
Salü zàme
Ich übergebe einer Druck-Routine eine Liste von Daten in einem ArrayList.
Jedes Item dieser Liste beinhaltet eine Sruktur, die aus mehreren Daten
besteht.
Um diese Druck-Routine möglichst allgemein halten zu können, möchte ich
dabei den Typ der Struktur mitgeben können, so dass diese Routine von
verschiedenen Anwendungen benutzt werden kann, welche die Ausgabedaten in
einer ArrayListe übergeben.
Ich bringe es fertig, den Typ mit typeof(stName) an die Routine zu
übergeben. Was ich nicht herausgefunden habe, wie ich ein Element mit dieser
Typenangabe wieder aufschlüsseln kann:

stName oListe = (stName)oArrayList[i]

Ich meine, irgendwie müsste es doch gehen, dass ich mit dem übergebenen Wert
typeof(stName) diese obige Anweisung irgendwie hinbekommen sollte. Aber eben,
wie

Kann mir da jemand helfen??
Besten Dank und Gruss
Jakob
 

Lesen sie die antworten

#1 Konrad Neitzel
28/01/2010 - 12:17 | Warnen spam
Hallo Jakob!

"Jakob Brunner, Luzern Switzerland"
wrote in
message news:

Ich übergebe einer Druck-Routine eine Liste von Daten in einem
ArrayList.
Jedes Item dieser Liste beinhaltet eine Sruktur, die aus mehreren
Daten
besteht.
Um diese Druck-Routine möglichst allgemein halten zu können, möchte
ich
dabei den Typ der Struktur mitgeben können, so dass diese Routine von
verschiedenen Anwendungen benutzt werden kann, welche die Ausgabedaten
in
einer ArrayListe übergeben.
Ich bringe es fertig, den Typ mit typeof(stName) an die Routine zu
übergeben. Was ich nicht herausgefunden habe, wie ich ein Element mit
dieser
Typenangabe wieder aufschlüsseln kann:

stName oListe = (stName)oArrayList[i]

Ich meine, irgendwie müsste es doch gehen, dass ich mit dem
übergebenen Wert
typeof(stName) diese obige Anweisung irgendwie hinbekommen sollte.
Aber eben,
wie



Ich fürchte, dass es so einfach nicht unbedingt geht. Ich sehe hier zwei
Ansàtze, die Du kontrollieren solltest:

a) Generics
Mit Generics kannst Du einen Typ dynamisch beim Aufruf festlegen:
http://msdn.microsoft.com/de-de/lib...ad0zb.aspx
Hier ist es aber dann sinnvoll, dass Du eine Schnitstelle festlegt, die
implementiert wird, damit Du einwandfrei auf die Objekte zugreifen
kannst.

b) Reflection
Mit Reflection ist es möglich, übergebene Objekte zur Laufzeit
auszuwerten.
http://msdn.microsoft.com/de-de/lib...73183.aspx

Generell ist es aber überflüssig, den Typ eines Objekts zu übergeben.
Den Typ bekommst Du einfach mit objekt.GetType().

Ich hoffe, ich konnte Dir etwas weiter helfen.

Mit den besten Grüßen,

Konrad

Ähnliche fragen