Как создать экземпляр для класса в C# dll, который был импортирован в проект C++? Я импортировал библиотеку C# в C++, выполнив следующие инструкции: here. Я могу вызвать функции, используя открытый интерфейс.
[EDIT] Я хочу установить значения для атрибутов класса в C# dll через C++ и передать его в dll. Так что я могу пропустить столько наборов функций в C# dll. Если я могу создать объект для класса, я задам значения с помощью объекта и передам объект в C# dll.создание экземпляра для класса в dll
-1
A
ответ
0
В ссылке вы предоставили, в C++ Описание код клиента
// CPPClient.cpp: Defines the entry point for the console application.
// C++ client that calls a managed DLL.
#include "stdafx.h"
#include "tchar.h"
// Import the type library.
#import "..\ManagedDLL\bin\Debug\ManagedDLL.tlb" raw_interfaces_only
using namespace ManagedDLL;
int _tmain(int argc, _TCHAR* argv[])
{
// Initialize COM.
HRESULT hr = CoInitialize(NULL);
// Create the interface pointer.
ICalculatorPtr pICalc(__uuidof(ManagedClass));
long lResult = 0;
// Call the Add method.
pICalc->Add(5, 10, &lResult);
wprintf(L"The result is %d\n", lResult);
// Uninitialize COM.
CoUninitialize();
return 0;
}
создание указателя, pICalc
является в значительной степени создание объекта класса. Создано в строке ICalculatorPtr pICalc(__uuidof(ManagedClass));
+0
У меня есть несколько других классов в моей dll. Могу ли я создавать объекты для этих классов? Мне также нужно получить доступ к атрибутам данных. – Fresher
И что вы собираетесь делать после того, как вы пройдете объект до C# dll_? – mike
Я передам его функции xml serialization. Я хочу установить все данные в объекте и передать его в dll. Dll будет использовать его для xmlserialization. – Fresher