2014-12-05 80 views
1

我有一个名为MCWrapper的类,我想从中调用静态成员函数作为从套接字接收数据的线程。我已经能够在我的控制台应用程序中创建托管类的实例并传递它的数据,但现在我希望能够清理并尽可能地推送到我正在构建的dll。带有静态成员函数的C++/CLI线程

所以MCWrapper有一个staticMessage类型的成员函数receiveMessageThread。我怎样才能将它传递给托管类的实例,并使用System :: Threading方法将其作为线程启动?根据我的理解,这是我需要做的,以使其能够访问MCWrapper的其他非静态成员函数(实质上是一个大型存储类)。我一直在玩一天,并一直卡住。

在控制台应用程序创建托管类,像这样:

MCWrapper ^mc = gcnew MCWrapper(); 

谢谢!

回答

1

像往常一样,当我问一个问题,我立即找到答案。也许这会帮助别人。

创建引用到你想要的对象:

MCWrapper^ mc = gcnew MCWrapper; 

开始,因为它开始调用成员函数的线程。

Thread^ rThread = gcnew Thread(gcnew ThreadStart(mc, MCWrapper::receiveMessageThread)); 

然后启动线程。

rThread->Start(); 

很容易,一旦你知道。请让我知道如果有人有更好的方式做到这一点。

干杯,

+0

_像往常一样,当我问一个问题,我立即找到答案._我知道这种感觉:-) – t3chb0t 2014-12-11 10:45:53