C# Color enum
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
aufruf
aussehen
beispiel
besitzen
bestimmt farben
code
eigenschaft
eigentliche funktion
erstellen
farbe
funktion
nummer
parameter
problem
rot code
switch
system
typ
vorgelagerten funktion
vorkommen
-
Hi,
ich möchte ein Farb-enum erstellen.
Beispiel:
enum erlaubteFarben {Rot = Color.Red, Blau = Color.Blue};
Um in einer Funktion sicherzustellen das als Parameter nur Farben aus dem Farb enum übergeben werden.
Beispiel:
void F(erlaubteFarben f) {/* ... */}
Ein Aufruf der Funktion könnte dann so aussehen:
F(erlaubteFarben.Rot);
Enum lässt aber keine Color Typen zu -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo,
richtig. Enum ist eine Aufzählung von Nummern.
Man kann muss aber nicht einen Integer angeben.
Wenn man alle Eigenschaften in einem Enum mit einem Wert versieht, besitzen die Eigenschaft auch diesen Value.
Wenn man nur den ersten beschreibt werden alle anderen folgenden hochgezählt.
Wenn man nur einen beschreibt, besitzt auch nur dieser den Wert alle anderen automatisch zugewiesen und es kann vorkommen, dass ein Wert doppelt vorkommt.
Aber nun mal zu deinem Problem:
Ja leider ist das so nicht möglich, fraglich, warum nimmst du als Funktionsparameter nicht einfach System.Drawing.Color?
Sonst musst du in einer vorgelagerten Funktion deinen Enum in einen System.Drawing.Color switchen und an die eigentliche Funktion übergeben.
Gruß
Trancedrome -
Ich denke mal, er will nur bestimmt Farben ermöglichen. Ich würde das so machen (ungetestet):
class specificColor { public enum colors { red, green, //... } public colors color; public Color sysdrawcolor { get { switch (color) { case colors.red: return Color.Red; case colors.red: return Color.Red; //... } //Damit der Get-Accessor auf jeden Fall einen Rückgabewert hat return Color.Black; } } }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage