2009-09-25 53 views
0

遇到问题,通过反射创建对象,然后在多个线程上运行它们。VB.Net用反射对象运行线程

我似乎无法找出什么我需要在这里:

  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”错误,因为对象没有一个方法叫那个。我需要使用界面做些什么吗?

回答

0

我讨厌人们回答自己的问题,但在等待答案时,我意识到我可以将对象作为其基础对象,并从那里设置反射。现在正在工作。

1

首先我想说,我从来没有在VB中编写代码,所以我可能在这里完全错误,但我会尽力尝试。

看起来您将创建的实例保存为Object而不是它的正确类型。 对象不包含名为Process的方法,因此是错误。

尝试将对象转换为正确的类型。

+0

我认为这是我会尝试的下一件事...尽管延迟绑定可能仍然会导致问题。 – RiddlerDev 2009-09-25 18:26:14