我有一個基於VB的代碼塊,我需要在C#中重寫,我正在寫一個函數,它創建一個COM對象的實例並創建一個新的終端會話,去讀出屏幕並返回屏幕的內容。現在雖然我覺得我在C#中沒有采取正確的方法,並且希望得到一些反饋。在C#中正確設置COM對象的一個實例#
VB代碼
set bzlipi = CreateObject("BlueZone.LIPI")
bzlipi.Username = "myuserid"
bzlipi.Password = "mypassword"
bzlipi.HostAddress = "101.122.0.138"
bzlipi.ShowTransferStatusWindow = False
bzlipi.LocalPromptBeforeOverwrite = False
result = bzlipi.ReceiveFile("local.txt", "MYLIB/F4101")
MsgBox bzlipi.ErrorMessage
C#
using BZLIPILib;
using BZWHLLLib;
public void Connector() {
object Host = Activator.CreateInstance(Type.GetType("BZLIPILib.LIPI"));
//Set Host properties
}
既然這樣,這不是不能識別主機內的任何屬性作爲其
VB對應上述一樣。我已經在我的VS項目的包管理器中提供了所有可用的COM對象
引用。我應該怎樣做
做不同?
是否有沒有直接引用庫的原因? –
沒有什麼真正的原因,除了供應商推薦的做法。 – LifeOf0sAnd1s
實際上*的C#代碼直接引用庫,這就是爲什麼'using'指令可以工作的原因。實際上沒有使用它是不明智的。但需要'動態主機'和'Type.GetTypeFromProgID(「BlueZone.LIPI」)'。智能感知仍然不會顯示成員。 –