2009-09-25 50 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