2016-02-17 3 views
-1

Как создать экземпляр для класса в C# dll, который был импортирован в проект C++? Я импортировал библиотеку C# в C++, выполнив следующие инструкции: here. Я могу вызвать функции, используя открытый интерфейс.
[EDIT] Я хочу установить значения для атрибутов класса в C# dll через C++ и передать его в dll. Так что я могу пропустить столько наборов функций в C# dll. Если я могу создать объект для класса, я задам значения с помощью объекта и передам объект в C# dll.создание экземпляра для класса в dll

+0

И что вы собираетесь делать после того, как вы пройдете объект до C# dll_? – mike

+0

Я передам его функции xml serialization. Я хочу установить все данные в объекте и передать его в dll. Dll будет использовать его для xmlserialization. – Fresher

ответ

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

Смежные вопросы