C++ cli 托管c++;语法 我尽可能地尝试将这个托管C++代码转换成C++/CLI。有人能给出一个指针(双关语)

C++ cli 托管c++;语法 我尽可能地尝试将这个托管C++代码转换成C++/CLI。有人能给出一个指针(双关语),c++-cli,managed-c++,C++ Cli,Managed C++,在代码的后面,将对其调用Add(string)方法。在其他地方,在一些C#代码中 传递到一个函数中,该函数以某种方式转换为上面的IgnorStrings类型 我尝试过这种语法: static array<String^> ^ignoreStrings; 在其他地方,通过C#code,可以调用: SetIgnoreStrings(new String[]{"foo", "bar"}); 这是我试图把C++代码转换成: private: static array<Str

在代码的后面,将对其调用Add(string)方法。在其他地方,在一些C#代码中

传递到一个函数中,该函数以某种方式转换为上面的IgnorStrings类型

我尝试过这种语法:

static array<String^> ^ignoreStrings;
在其他地方,通过C#code,可以调用:

SetIgnoreStrings(new String[]{"foo", "bar"});

这是我试图把C++代码转换成:

private:
    static array<String^> ^ignoreStrings;

public:
    virtual void AddIgnoreString(String ^ignore)
    {
        AddOneIgnoreString(ignore);
    }

    virtual void SetIgnoreStringData(array<String^> ^ignore)
    {
        SetIgnoreStrings(ignore);
    }

    static void SetIgnoreStrings(array<String^> ^ignore)
    {
        ignoreStrings = ignore;
    }

    static void AddOneIgnoreString(String ^ignore)
    {
        ignoreStrings->Add(ignore);
    }

    static array<String^> ^GetIgnoreStrings()
    {
        return ignoreStrings;
    }
private:
静态数组^环;
公众:
虚拟void AddIgnoreString(字符串^ignore)
{
AddOneIgnoreString(忽略);
}
虚拟void SetIgnoreStringData(数组^ignore)
{
设置初始化(忽略);
}
静态void SetIgnoreStrings(数组^ignore)
{
忽略=忽略;
}
静态void AddOneIgnoreString(字符串^ignore)
{
忽略环->添加(忽略);
}
静态数组^GetIgnoreStrings()
{
返回环;
}
您的尝试

static array<String^> ^ignoreStrings;
静态数组^ignorestring;
应该有用

.NET阵列没有Add方法(不在C++/CLI或C#!)。 如果你指的是一个列表(它有一个Add()方法),那么它就是

static System::Collections::Generic::List<String ^> ^ignoreStrings;
静态系统::集合::通用::列表^ignoreStrings;

您是否可以使用反射器查看“静态字符串*ignoreStrings[];”生成的类型以及“ignoreStrings->Add(ignore);”行生成的IL代码是什么?我不认为ignoreStrings是一个.NET数组,而是一个ArrayList、List或类似的东西。因为.NET数组没有Add()方法!
private:
    static array<String^> ^ignoreStrings;

public:
    virtual void AddIgnoreString(String ^ignore)
    {
        AddOneIgnoreString(ignore);
    }

    virtual void SetIgnoreStringData(array<String^> ^ignore)
    {
        SetIgnoreStrings(ignore);
    }

    static void SetIgnoreStrings(array<String^> ^ignore)
    {
        ignoreStrings = ignore;
    }

    static void AddOneIgnoreString(String ^ignore)
    {
        ignoreStrings->Add(ignore);
    }

    static array<String^> ^GetIgnoreStrings()
    {
        return ignoreStrings;
    }
static array<String^> ^ignoreStrings;
static System::Collections::Generic::List<String ^> ^ignoreStrings;