在dll中为类创建实例

时间:2016-02-17 14:31:22

标签: c# c++ dll managed

如何在c#dll中为我在c ++项目中导入的类创建实例?我已按照here给出的说明将c#库导入c ++。我可以使用公共界面调用这些函数 [编辑]我想在c#dll到c ++中为类的属性设置值,并将其传递给dll。这样我就可以在c#dll中跳过这么多set函数了。如果我可以为类创建对象,我将使用对象设置值并将对象传递给c#dll。

1 个答案:

答案 0 :(得分: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));

中创建