为什么c#改变我的颜色结构为ValueType

本文关键字:结构 ValueType 颜色 我的 改变 为什么 | 更新日期: 2023-09-27 18:03:53

我在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;
    }        
};

为什么c#改变我的颜色结构为ValueType

Color是一个结构体。从参数System::Drawing::Color^ ext中去掉^

gcnew System::String("{")也是冗余的。直接使用"{",它已经是一个String对象了