Zum Inhalt springen

Generischer Typparameter zur Laufzeit übergeben


Empfohlene Beiträge

Geschrieben

Hallo.

Wie kann ich einen generischen Typparameter zur Laufzeit übergeben?

z.B.


            string s = "";

            Type t = s.GetType();

            List<t> l = new List<t>();

Oder vllt wisst ihr was besseres: Ich habe ein DataRowArray und möchte das via Linq per Benuzedialog (Spalte und Sortierrichtung) sortieren lassen:


var sortedItems = from item in items orderby item.DataRow.Field<t>(e.SortColumn) descending select item;


Das Problem ist, ich muss dem übergeben welcher Typ diese Spalte ist.

Danke!!!

Geschrieben


public void MyMethod<GenericParameter>()

{

            string s = "";

            Type t = s.GetType();

            List<GenericParameter> l = new List<GenericParameter>();

}

Das Problem wieder hierbei, Ich übergebe MyMethod einen Generischen Paramater. Da kann ich nicht den Paramater zur Laufzeit übergeben. Das muss im Kompiler festgelegt sein, dass entweder int, string, etc. gesetzt wird. Ich seh das ungefähir so

            Type t = // Ich ermittel hier anhand eines Strings einen Datentyp


            List<t> l = new List<t>();


---------------- Code in der Theorie!! So SOLLTE es sein. In der praxis funktioniert das nicht 

[/code]

Dieser Datentyp kann zur laufzeit mal String, mal int, mal DateTime sein. Ich weiss es nicht.

P.S. Danke für die MSDN Seite, jedoch hat die mir nicht weitergeholfen :(

Gruß

  • 2 Wochen später...
Geschrieben

Moin,

wenn ich dich richtig verstehe ist es doch nichts weiter wie das:

public void blubb<T>()

{

List<T> x = new List<T>();

}

Dann rufst du die Funktion einfach auf mit:

blubb<int>();

blubb<string>();

--> dazu würd ich den Objekttyp per reflexion übergeben.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...