Wie übergeben Sie einen null-Wert, Farbe

Ich Frage mich nur, wie ich kann, übergeben Sie einen null Farbe auf eine Methode.

Hier ist ein Beispiel mit einer Methode, die bekommt einen color-parameter:

protected void myMethod(Color color,other parameters...) {}

Jetzt bin ich mit der gezeigten Zustand. Je nach Zustand würde ich gerne die Farbe ändern.

if(1) {myMethod(Color.Red,....)}

if(2) {myMethod(Color.Black,...)}

if(3) {myMethod(Color.Ignore,...)} //so here just ignore this color parameter and keep the original.

Ich weiß, ich kann viele Dinge tun, um dies zu überwinden, aber wie gesagt ich Frage mich nur, gibt es einen besseren Weg einen "ignorieren" - Wert, so wird die ursprüngliche Farbe des Elements.

  • Bekommst du nicht die aktuelle Farbe irgendwie Zwischenspeichern? Vielleicht sollten Sie sich Gedanken über die Aufteilung der Verfahren in mehrere Teile
  • Sie null?
  • Sie können machen es zu einem nullable-Typ, Color?
  • Vielleicht Farbe.Transparent ?
  • Ich kann die original-Farbe, aber es ist nur über die Nutzung. Ich denke, es sollte einen besseren Weg, einfach nur sagen, das element, das seine eigene Farbe, anstatt die elemenets Farbe und übergeben Sie es zurück zu.
  • Color ist ein Wert-Typ (eine Struktur), so kann es nicht sein null. Nullable<Color> (oder Color?) kann null sein. msdn.microsoft.com/en-us/library/system.drawing.color.aspx
  • Es kann leer sein: Farbe.Leer und Sie können überprüfen, ob eine bestimmte Farbe, die variable ist leer, die IsEmpty-Eigenschaft.
  • noch mehr nutzen und zusätzliche Bedingungen. es klingt nicht richtig, denke ich. dann haben Sie noch eine weitere Bedingung.
  • Halten Sie schriftlich eine überlastung der myMethod welche nicht Color argument? EDIT: Woops, gar nicht gemerkt, da war die Antwort suggeriert genau dies. 🙂

InformationsquelleAutor akd | 2013-10-31
Schreibe einen Kommentar