Мой собственный управляемый тип как arg в C ++ / Библиотека классов CLI: CS0570: не поддерживается языком

Я пытался разработать библиотеку C ++ / CLI для использования в C #, и у меня возникла следующая проблема. Если мы возьмем мой управляемый эталонный класс следующим образом:

namespace Library
{
using namespace System;

public ref class Test
{
internal:
    String^ internalString;
public:
    Test()
    {
        internalString = gcnew String("Hey There");
    }
    ~Test()
    {

    }
};

public ref class TestImplement
{
public:
    static String^ TestMessage(Test test)
    {
        return test.internalString;
    }
};
}

И моя реализация C # следующим образом:

using System;

namespace AddProgram
{
class Program
{
    static void Main(string[] args)
    {
        Library.Test test = new Library.Test();
        Console.WriteLine(Library.TestImplement.TestMessage(test));
        Console.Read();
    }
}
}

, я получаю следующую ошибку:

ошибка CS0570: 'TestMessage' не поддерживается язык

Насколько я могу судить, это связано с передачей типа Library.Test в качестве аргумента. Я не понимаю, почему получаю это сообщение, и надеюсь, что можно передавать типы из моей справочной библиотеки.

Любая помощь приветствуется

5
задан xcvd 28 December 2011 в 21:44
поделиться