C # Übergeben einer generischen Liste an Methode und dann an den Typ übergeben

8

Ich habe eine Methode, die eine Liste verwendet, die ich übergeben muss.

Abhängig davon, wo ich diese Methode anrufe, ist der Typ der Liste unterschiedlich.

Ist es möglich, die Liste als generische Liste zu übergeben und sie dann an einen bestimmten Typ zu übergeben, oder muss ich Parameter für jede Art von Liste erstellen, die verwendet werden kann (siehe unten)?

%Vor%     
Riain McAtamney 29.03.2011, 07:19
quelle

5 Antworten

12

Warum sollten Sie nicht mehrere Methoden mit einem einzigen Listentyp erstellen, anstatt eine einzelne Methode mit mehreren Parametern zu erstellen? Es scheint, dass Sie sowieso nicht viel Code von einem Listentyp zum anderen teilen.

%Vor%     
Fabian Nicollier 29.03.2011, 07:23
quelle
5

Sie können eine generische Funktion erstellen, die einen generischen Typ wie diesen akzeptiert

%Vor%

In meinem Beispiel habe ich IEnumerable an meine Funktion übergeben und es wird eine Liste zurückgegeben (wo ist der Typ meines Objekts). Ich gebe nicht an, was der Typ des Objekts ist.

Ich hoffe, es ist hilfreich.

    
Faber 29.03.2011 07:31
quelle
3

Sie könnten so etwas tun:

%Vor% %Vor%
Tathagat Verma 29.03.2011 07:44
quelle
1

Danke für alle Antworten.

Eine andere Lösung, die ich gerade entdeckt habe, wäre die Verwendung einer neuen Funktion in C # 4.0:

%Vor%

Dann könnte ich einfach die Methode so aufrufen und muss nicht alle Parameter angeben:

%Vor%     
Riain McAtamney 29.03.2011 07:45
quelle
0

Ja, dies kann einfach durchgeführt werden, indem Parameter mit Objekttyp übergeben werden, wie unten gezeigt:

%Vor%

Sie können diese Funktion folgendermaßen aufrufen:

%Vor%     
Anton Semenov 29.03.2011 07:30
quelle

Tags und Links