kostenloser Webspace werbefrei: lima-city


C# Color enum

lima-city: kostenloser WebspaceForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    marius71

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bediensteter

    1953 Gulden

    0 positive Bewertungen
    0

    marius71 hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. trancedrome

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Narrenkönig

    3211 Gulden

    0 positive Bewertungen
    0

    trancedrome hat kostenlosen Webspace.

    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
  4. jalstudios

    Benutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Bettler

    294 Gulden

    1 positive Bewertung
    0

    jalstudios hat kostenlosen Webspace.

    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;
            }
        }
    }
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!