首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C++编译的Dll中亟需使用单态类 供C#调用 求解

2012-06-22 
C++编译的Dll中需要使用单态类 供C#调用 求解TestDllC.hpublic class TestDllC{private:int bbstatic i

C++编译的Dll中需要使用单态类 供C#调用 求解
"TestDllC.h"

public class TestDllC
{
private:
int bb;
static int pid;
static TestDllC *pThis;
private:
TestDllC();
~TestDllC();
!TestDllC();
static TestDllC();

public:
static TestDllC* GetInstance();
int MessageSay();
};

"TestDllC.cpp"
TestDllC::TestDllC()
{
pid++;
}

TestDllC::~TestDllC()
{

}
TestDllC::!TestDllC()
{
//delete pThis; 
}
static TestDllC::TestDllC()
{
pid=0;
}

static TestDllC* TestDllC::GetInstance()
{
if(pThis==NULL)
{
pThis=new TestDllC();//一个创建不复杂的类 所以不考虑线程安全
}
return pThis;
//return gcnew TestDllC();
}

int TestDllC::MessageSay()
{
return pid;
}

类的示例如上,如何来做?

[解决办法]
不行。在C#中不能调用。
1.把动态库改造成Com接口或者全部以方法引出,不要使用类。
2.自己使用C++再次封装,以方法引出。

热点排行