我有一个名为MCWrapper的类,我想从中调用静态成员函数作为从套接字接收数据的线程。我已经能够在我的控制台应用程序中创建托管类的实例并传递数据,但现在我希望能够清理并尽可能地推送到我所建造的dll中
所以MCWrapper有一个类型为static void的成员函数receiveMessageThread。我如何传递对托管类实例的引用,并使用System :: Threading方法将其作为线程启动?据我所知,这是我需要做的,使它能够访问MCWrapper的其他非静态成员函数(它本质上是一个大型存储类)。我现在已经玩了一天,并且一直被卡住了。
在控制台应用程序中,我创建托管类,如下所示:
MCWrapper ^mc = gcnew MCWrapper();
谢谢!
答案 0 :(得分:1)
像往常一样,当我问一个问题时,我立即找到答案。也许这会对某人有所帮助。
创建对所需对象的引用:
MCWrapper^ mc = gcnew MCWrapper;
启动一个在启动时调用成员函数的线程。
Thread^ rThread = gcnew Thread(gcnew ThreadStart(mc, MCWrapper::receiveMessageThread));
然后启动线程。
rThread->Start();
一旦你知道就很容易。如果有人有更好的方法,请告诉我。
干杯,