0

C++ CLI で次のコードを定義しました。
ただし、System.Drawing.Color; として表示されるはずの最初のパラメーターである SetColor を呼び出したい場合。ValueType として表示されます。
これにより、任意の変数を渡すこともできます。そうでなくても構いませColorん。

[System::Runtime::CompilerServices::ExtensionAttribute]
public ref class MyExtensions abstract sealed {
public:        
    [System::Runtime::CompilerServices::ExtensionAttribute]
    static System::String^ SetColor(System::String^ in, System::Drawing::Color^ ext) {
        return gcnew System::String("{") +
            ext->R.ToString("X") + ext->G.ToString("X") + ext->B.ToString("X")
            + gcnew System::String("}")  + in;
    }        
};
4

1 に答える 1

4

色は構造体です。^パラメータからを削除しますSystem::Drawing::Color^ ext

また、gcnew System::String("{")冗長です。直接使用するだけ"{"で、すでにStringオブジェクトになっています。

于 2013-03-14T20:55:13.430 に答える