2010-12-27 3 views
1

Wie kann ich zusätzliche Methoden für die Manipulation von Farbe hinzufügen? Am besten wäre es, die Struktur System.Windows.Media.Color zu überladen. Es ist NICHT eine Klasse (in C#).C# public Partial Struct-Methoden für mehr System.Windows.Media.Color

Jetzt bin bastelt i mit dem Setzen (in der gleichen Datei zum Testen oder muss ich es in einer andere Datei) einen Namespace (Silverlight Application36 oder System.Windows.Media?) und eine partielle Struktur Farbe Normalisieren (Doppel R, ...).

Ich sollte sehen MyColor.Normalize() wird von Intellisense erkannt werden?

Ich bin nicht. Ich versuche, eine Reihe von überladenen Farbmanipulationen mit Floating- und Double-Zahlen anstelle von vorzeichenlosen Byte-Ganzzahlen einzusetzen.

Irgendwelche Hinweise, während ich mich witze?

Prost!

Dr.K

Antwort

3

Nur extension methods verwenden:

public static class ColorExtensions 
{ 
    public static Color Normalize(this Color) 
    { 
     return ...; 
    } 
} 

Es wenn seine feinen ist eine Struktur.

0

habe ich eine Probe Fenster bildet App und in einer CS-Datei setzen:

namespace System.Windows.Media 
{ 
    public partial struct Color 
    { 
     public double Normalize(double r, double g, double b) 
     { 
      return r + g + b; 
     } 
    } 
} 

dies die Intellisense bewirkt, dass das Normalisieren Methode zu zeigen:

partial struct color

+0

Ich würde nicht empfehlen in der praxis ........... – Jeff

+0

noch basteln ... danke für die Hinweise. Erweiterungsmethoden, nicht partielle Klassen, scheinen der Weg dafür zu sein. wird Antworten posten. –

+0

nein, noch basteln. Siehe anderen Artikel zum Überladen von MS Point struct. –