c # Enum Funktionsparameter

8

Als eine Folge von diese Frage.

Wie kann ich eine Funktion aufrufen und eine Enum übergeben?

Zum Beispiel habe ich den folgenden Code:

%Vor%

Obwohl, wenn ich das mache, bekomme ich die 'e1' ist ein 'Typ', wird aber wie eine 'Variable' Fehlermeldung verwendet. Irgendwelche Ideen, um zu helfen?

Ich versuche, die Funktion generisch zu halten, um mit irgendeiner Enum nicht nur einem spezifischen Typ zu arbeiten? Ist das überhaupt möglich? ... Wie wäre es mit einer generischen Funktion? Würde das funktionieren?

    
TK. 03.02.2009, 14:58
quelle

4 Antworten

9

Sie können eine generische Funktion verwenden:

%Vor%

und rufe an wie:

%Vor%

(BEARBEITEN)

Der Compiler beschwert sich, wenn Sie versuchen, die Einschränkung T auf Enum oder enum zu setzen.

Um die Typsicherheit zu gewährleisten, können Sie Ihre Funktion wie folgt ändern:

%Vor%     
bruno conde 03.02.2009, 15:16
quelle
9

Warum nicht den Typ übergeben? wie:

%Vor%     
Martin Moser 03.02.2009 15:02
quelle
5

Sie versuchen, den Typ der Enumeration als Instanz dieses Typs zu übergeben - versuchen Sie Folgendes:

%Vor%     
Andrew Hare 03.02.2009 15:01
quelle
0

Verwenden Sie

%Vor%

statt

%Vor%     
abatishchev 03.02.2009 15:06
quelle

Tags und Links