0

我在 C++ CLI 中定义了以下代码。
但是,当我想调用 SetColor 时,第一个参数应该显示为 System.Drawing.Color; 显示为 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 回答