Как скрестить C# и mixed managed C++?
От: Schumi  
Дата: 07.12.03 10:53
Оценка:
Подскажите пожалуйста как быть в такой ситуации:
имеется код написанный на старом добром C++ со своей umanaged структурой данных, и имеется managed класс, хранящий в себе экземпляр этой структуры + какие-то функции:

namespace TEST
{

struct tagData
{
int data1;
float data2;

// ... и т.д.
};

public __gc class MData
{
public:
MData() {};

void func() {};


tagData data;
}

}


Теперь возникает необходимость из C# проекта обратиться к полям этой струкуры, но получаем отлуп компилятора, который совершенно не видит поля структуры:

using System;
using TEST;

namespace TESTCLIENT
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
MData client = new MData();

//!!! error CS0117: 'tagData' does not contain a definition for 'data1'
client.data.data1 = 123;
}
}
}

Самое забавное что из отладчика все поля видны! Как быть и чего делать?

PS. При этом полей у структуры на порядок больше и их(структур) не одна, так что писать на каждую по методам get/set не представляется реальным
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.