2017-04-03 1 views
0

Angenommen, wir eine ENUM-Objekt wie dieses:Wie könnte ich Enum-Objekt mit verschachtelter Enum in eine Methode als Parameter übergeben?

public enum Action 
{ 
    FOO, 
    BAR; 
    public enum Move 
    { 
     UP, 
     DOWN, 
     LEFT, 
     RIGHT 
    } 
} 

und ein Verfahren wie folgt aus:

private void useThisEnum(Action a) { 
    //code 
} 

In meinem Eclipse-die Methode nicht die Enum-Objekt mit dem verschachtelten Enum akzeptieren könnte. Wie könnte ich es weitergeben? Sollte ich immer Methode Überlastung verwenden und eine andere Methode wie folgt erklären:

private void useThisEnum(Action.Move ma) { 
    //code 
} 

Oder sollte ich eine Schnittstelle anstelle von außen ENUM?

+1

Dies ist ein völlig anderes Argument. Die 'Move' ist keine" Unterklasse "von' Action', also müssen Sie eine andere Methode deklarieren. 'Move' ist eine innere Klasse von' Action', aber das ist etwas anderes. – dpassy

+0

Okey danke. Soll diese Frage entfernt werden? – F3R1

+0

markieren Sie einfach meine Antwort als richtig, wenn jemand nach einem ähnlichen Problem suchen würde. Ich habe meinen Kommentar auf die Antwort unter – dpassy

Antwort

3

Dies ist ein völlig anderes Argument. Die ist nicht "Unterklasse" von Action also ja, Sie müssen eine andere Methode deklarieren. Move ist eine innere Klasse von Action, aber das ist etwas anderes.

+0

Okey ich werde es akzeptieren, danke! – F3R1

Verwandte Themen