Hallo Leute!
Ich habe bereits im Forum gesucht, aber leider keine Hinweise darauf gefunden, wie man in einer Methodendeklaration eine enum-Eigenschaft einbaut (wie z.b. "MessageBoxButtons.YesNo")
Meine enum-Deklaration sieht folgendermaßen aus:
enum sortMode : byte
{
byID = 1,
byPID = 2,
nestedTreeByID = 3
}
Welchen Datentyp muss ich demnach bei der Methodendeklaration verwenden? "enum" geht schon mal nicht 🙁
freundliche Grüße,
pete
sortMode?
I am Jack's smirking revenge.
I am Jack's raging bile duct.
I am Jack's cold sweat.
I am Jack's complete lack of surprise.
I am Jack's broken heart.
I am Jack's wasted life.
Hallo petewulf!
Funktioniert das so, mit der Vererbung von Byte? Ich habe bisher eigene Enumerationen ohne Vererbung benutzt, also so:
/// <summary>
/// Enumeration of different material types.
/// </summary>
public enum MaterialType
{
/// <summary>
/// Cold coil material.
/// </summary>
ColdCoil = 0,
/// <summary>
/// Hot Coil material.
/// </summary>
HotCoil = 1,
/// <summary>
/// Undefined material type.
/// </summary>
Undefined = 256
}
Somit hast Du eine Enumeration deklariert. Zum Anwenden solltest Du dies folgendermaßen tun:
MaterialType matType = MaterialType.Undefined;
Was aber auch geht in diesem Fall:
MaterialType matType = (MaterialType) 256;
Ich denke damit hast Du alles was Du benötigst 😉
Ciao
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Byte legt lediglich den Datentyp der Enumeration fest.
Hallo norman_timo!
Wie Noodles schon sagt, Byte legt nur den Datentyp der Enumeration fest.
Danke mal für Dein Beispiel. Es läuft aber leider noch nicht so wie ich mir das vorgestellt habe. Ich möchte diese Enumeration in die Methodendeklaration einbauen, sodass eine DopDownbox erscheint, sobald man die Methode aufruft, hier ein Screenshot:
Vielleicht ist mein Ansatz dazu nicht ganz richtig?
freundliche Grüße,
pete
Hallo petewolf!
Das verstehe ich jetzt nicht so ganz, denn MessageBoxButtons ist doch auch keine Methode. Es ist eine Enumeration.
Wenn Du wie in meinem Beispiel
MaterialType matType;
definierst, dann kannst Du nach dem eintippen von "matType." über Intellisense alle Möglichen Aufzälungen anzeigen lassen.
Aber bei Methoden bekommst Du nur alle Überladungen angezeigt, niemals aber Aufzählungen.
Was möchtest Du denn funktional erreichen? Vielleicht verstehe ich Dich mit dieser Erklärung dann besser?
Ciao
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Hi norman_timo!
Original von norman_timo
Das verstehe ich jetzt nicht so ganz, denn MessageBoxButtons ist doch auch keine Methode. Es ist eine Enumeration.Wenn Du wie in meinem Beispiel
MaterialType matType;
definierst, dann kannst Du nach dem eintippen von "matType." über Intellisense alle Möglichen Aufzälungen anzeigen lassen.
Aber bei Methoden bekommst Du nur alle Überladungen angezeigt, niemals aber Aufzählungen.
Was möchtest Du denn funktional erreichen? Vielleicht verstehe ich Dich mit dieser Erklärung dann besser?
Genau, diese Enumeration möchte ich mittels Intellisense anzeigen lassen. Ich habe das nochmal nach Deinem Beispiel getestet, jetzt scheint es zu funktionieren (keine Ahnung wieso es vorher nicht gegangen ist) - es erscheint jetzt die Dropdown-Box mit den Auswahlmöglichkeiten:
Methodendeklaration:
public Hashtable getChildNodes(String startKey, String sortMode, int depth, sortMode sm) {}
So siehts nun aus:
freundliche Grüße,
pete