2014-02-26 83 views
0

這是我的代碼(正常工作):如何通過反射將參數傳遞給exe文件?

Private Sub open_report2() 

    Dim oType As System.Type 
    Dim oAssembly As System.Reflection.Assembly 
    Dim oObject As System.Object 
    oAssembly = Reflection.Assembly.LoadFrom("C:\VB.NET\report3\report3\bin\Debug\report3.exe") 
    oType = oAssembly.GetType("report3.r1") 
    oObject = Activator.CreateInstance(oType) 
    oObject.show() 

End Sub 

如何參數傳遞給report3

report3看到在調用程序中的變量,如果是這樣,如何?

回答

0

,我發現我的解決方案,所以我想它張貼在這裏:

在我的主程序,我只是簡單地添加一行:

oObject.show() 
oObject.SetParams("a", "b") 

然後在報告3我把它像這樣...

Public Class r1 

    Implements IPlugin 

    Public a1 As String = "" 
    Public b1 As String = "" 
    ... 

然後,我設置了R1類這樣的內部子程序:

Public Sub SetParams(c As String, d As String) Implements IPlugin.SetParams 
     a1 = c 
     b1 = d 
     MessageBox.Show(a1) 
End Sub 

那麼類R1之外,我建立了一個這樣的接口:

Public Interface IPlugin 
    Sub SetParams(ByVal c As String, ByVal d As String) 
End Interface 

當我跑我的主程序,我看到消息框顯示「A」當我打電話open_report2。

相關問題