У меня есть что-то похожее на следующее в C#:Вызов C метод # из неуправляемого C++, который проходит обратно полный объектная модель
public class ClassA
{
int Id { get; set; }
ClassB[] ClassBItems { get; set; }
}
и
public class ClassB
{
int SomeOtherId {get;set;}
}
Я хочу передать эту модель объекта в неуправляемый C++. То есть Получите вызов от неуправляемого кода на C++, такого как «GetClassA(): ClassA».
До сих пор мне удалось передать отдельные объекты или массивы объектов из управляемого C# в неуправляемый C++ (с использованием COM/CCW), но не прошли Pass ClassA с ClassB внутри него.
Мои вопросы:
- Как я могу передать обратно ClassA который массив ClassB внутри него?
- До сих пор я мог только передать структуры с C#. Мои приведенные выше примеры - это классы, которые я действительно хотел бы передать. То есть ссылку на данные.
Чтобы уточнить, неуправляемый код будет вызывать управляемый код.
Я знаю, что вы действительно не можете вызвать методы C#, но вы можете позвонить в .net-код, используя COM, который является тем же самым понятием. Я рад сделать объекты COM из своих классов C#, но могу ли я сохранить ту же структуру, что и в моем первоначальном сообщении? Благодарю. – ahallan