在C#中使用ActiveX在C#中使用ActiveX我有这样的javascript代码:o=newActiveXObject("ASDFsome.Application");utilites=WScript.CreateObject("ASDF.Utilites.UTF.Converter")utilites.Convert(outFile,xmlProp.xml)现在我想用C#代码重写它。我应该如何在Net中使用ActiveXObject?这主要是由于为C#版本4添加了动态关键字:dynamicutilites=Activator.CreateInstance(Type.GetTypeFromProgID("ASDF.Utilites.UTF.Converter"));utilites.Convert(outFile,xmlProp.xml);如果您坚持使用早期版本,那么使用VB.NET类库是最好的方法。它直接支持脚本代码中使用的CreateObject()函数。最后但同样重要的是,与您一直使用的脚本语言不同,C#和VB.NET都支持早期绑定。首先添加对类型库的引用,Project+AddReference并使用COM选项卡或Browse选项卡选择包含类型库的.tlb或.dll文件。如果组件设计为仅使用后期绑定脚本语言,则可能不会。我们无法帮你找到合适的类型库,厂商或作者都会知道。最后但并非最不重要的一点是,这听起来像是一个知道如何读取utf-8编码的XML文件的实用程序。.NET很好地支持使用System.Xml命名空间。一种可能性是使用反射:varutilitiesType=Type.GetTypeFromProgID("ASDF.Utilites.UTF.Converter");varinstance=Activator.CreateInstance(utilitiesType);utilitiesType.InvokeMember("Convert",BindingFlags.InvokeMethod|BindingFlags.Public,null,instance,new[]{"outputFile","xmlProp.xml"});另一种可能性是为COM对象生成强类型代理。右键单击您的项目,添加引用->COM选项卡->在列表中选择COM对象或从其DLL加载它。然后,VisualStudio将为此COM对象生成一个强类型包装器程序集,并自动将其添加为引用。接下来,您可以直接使用COM对象并保持其强类型。以上就是《C#学习教程:在C#中使用ActiveX》的全部内容分享。如果对你有用,需要进一步了解《C#学习教程》,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
