我有一个基于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”)'。智能感知仍然不会显示成员。 –