2010-12-27 8 views
1

色を操作するための追加の方法はどのように配置できますか? 最高の構造体System.Windows.Media.Colorをオーバーロードすることです。 NOTクラス(in c#)です。System.Windows.Media.ColorのC#パブリックパーシャル構造メソッド

今の名前空間(シルバーApplication36またはSystem.Windows.Media?) と部分構造体色ノーマライズ(私は入れいじりだ(テストのために同じファイルまたは私は 別のファイルに入れなければなりません)ダブルR、...)。

MyColor.Normalize()がintellisenseによって認識されるのを確認する必要がありますか?

私はそうではありません。 浮動小数点数と符号なしバイト整数の代わりに倍精度浮動小数点数型を使用して、オーバーロードされた色の操作を行うことを検討しています。

私はそれにハックしている間、任意のヒント?

乾杯!

dr.K

答えて

3

ちょうどextension methodsを使用します。

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

その構造体ならばそれは結構です。

0

私はサンプルウィンドウを作成したアプリを形成しての.csファイルに入れて:

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

これはノーマライズ方法を示すために、インテリセンスが発生します。

partial struct color

+0

私はこれをお勧めしません実際には........... – Jeff

+0

まだ触れている...ポインタのおかげで。部分的なクラスではない拡張メソッドは、これを行う方法であるようです。回答を投稿します。 –

+0

、まだまだ微妙。 MSポイント構造体のオーバーロードに関する他の記事を参照してください。 –