遇到通过反射创建对象,然后在多个线程上运行它们的问题。
我只是想不出我需要在这里做什么:
For Each WorkerNode As XmlNode In oRunSettings.GetWorkerValues
Dim sWorkerName = WorkerNode.Attributes(SETTING_NAME_ID).Value
Dim oWorkerType As Type = Type.GetType(String.Format("Worker.{0}", sWorkerName))
Dim oWorker As Object = Activator.CreateInstance(oWorkerType)
Dim tWorker As Thread = New Thread(AddressOf oWorker.Process)
tWorker.Start()
Next它会在"AddressOf“处引起错误,因为对象没有一个名为that的方法。我需要对接口做些什么吗?
发布于 2009-09-25 18:25:49
我讨厌人们回答他们自己的问题,但在等待答案的时候,我意识到我可以将对象转换为它的基本对象,并从那里设置反射。这现在起作用了。
发布于 2009-09-25 18:20:55
首先,我想说我从来没有用VB写过代码,所以在这里我可能完全错了,但我还是会试一试。
您似乎将创建的实例保存为对象,而不是它的正确类型。对象不包含名为Process的方法,因此出现错误。
尝试将对象转换为正确的类型。
https://stackoverflow.com/questions/1478794
复制相似问题