Farbe als Konstante deklarieren

7

Wie kann ich den Color -Typ als const wie folgt deklarieren:

%Vor%

Das geht nicht, weil das Color.Blue statisch nicht const ist.

(readonly wird mir nicht helfen, weil ich die Farbe für ein Attribut benötige, das nur Konstanten "unterstützt"

    
gdoron 29.11.2011, 11:26
quelle

4 Antworten

8

Sehen Sie sich die KnownColor -Auszählung an. Es wird wahrscheinlich für das, was Sie brauchen, sorgen.

    
leppie 29.11.2011, 11:34
quelle
5

Sie können einem const nur einen Wert zuweisen, der ein Literal ist. In Ihrem Fall würde ich dann ein String-Literal bevorzugen und Ihre Farbe wie folgt definieren:

%Vor%

Dann, wo immer Sie Ihre Farbe benötigen, führen Sie die Rückwärtskonvertierung durch:

%Vor%

Es tut mir leid, aber das ist die einzige Möglichkeit, const zu behalten.

BEARBEITEN : Alternativ können Sie Ihre Farbe auch als (A) RGB-Attribute speichern, die in einem einzigen int -Wert gespeichert werden. Beachten Sie, dass Sie ein hexadezimales Literal verwenden können, um die verschiedenen Komponenten Ihrer Farbe (in der ARGB-Sequenz) explizit festzulegen:

%Vor%     
Alexander Galkin 29.11.2011 11:38
quelle
4

System.Drawing.Color ist ein struct , was bedeutet, dass Sie keinen konstanten Wert davon haben können.

    
Jon 29.11.2011 11:29
quelle
3
%Vor%

Ich danke Ihnen, das ist das nächste, was Sie bekommen können?

    
Neil Thompson 29.11.2011 11:29
quelle

Tags und Links