在C#中正确设置COM对象的实例

时间:2016-12-16 15:22:22

标签: c# com

我有一个基于VB的代码块,我需要在C#中重写,我正在编写一个函数,它创建一个COM对象的实例并创建一个新的终端会话,熄灭,读取屏幕并返回屏幕内容。现在虽然我觉得我没有在C#中采取正确的方法,并希望得到一些反馈。

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
    }

就目前而言,这并不是承认Host中的任何属性为其  VB对应的确如上。我已经制作了所有可用的COM对象
 我的VS项目的包管理器中的引用。我该怎么办?  做得与众不同?

1 个答案:

答案 0 :(得分:1)

变化:

using BZLIPILib;
using BZWHLLLib;
...
object Host = Activator.CreateInstance(Type.GetType("BZLIPILib.LIPI"));

...为:

using BZLIPILib;
using BZWHLLLib;
...

LIPI Host = new LIPI();

...然后intellisense将按预期工作。

更新:似乎所需的实际代码是:

using BZLIPILib;
using BZWHLLLib;
...

LipiObj Host = new LipiObj(); 

......根据OP的评论如下。