调用C#COM对象好了,我创建了c#dll,所有接口和方法都是ComVisible(true)。使用gacutil将其添加到GAC,然后使用regasm对其进行注册并创建类型库tlb文件。现在我有另一个c#项目,我想调用那个com对象,我该怎么做?导入com对象然后使用它调用的代码大致是什么样的?首先,为什么要通过COM(您已经看到)在其他C#项目中调用该C#程序集?那不是必需的...Ontopic:如果您已经创建了一个tlb文件,那么您不应该做任何特别的事情。您可以只引用您创建的c#程序集的“运行时可调用包装器”。第1步:创建一个Runtime-Callable-Wrapper。有两种方式方法一:使用TlbImp生成RCWtlbimp.tlb/out:.dll使用这种方式可以使用默认的.NET-Interopmarshalling,有时(意思是当它不起作用时)你需要Changeregroupildasm。dll/out:.il//修改.ililasm.il/dll方法二:手动创建一个C++/Cli工程作为COM服务器的包装器第二步:C#代码参考RCW,使用以下代码连接COM服务器输入yourComType=Type.GetTypeFromProgID(yourComSvrProgID,serverPcName);varoInterface=(IYourCOMInterface)Activator.CreateInstance(yourComType);//然后开始使用oInterface当你的C#组件成为一个COM合格的组件时,它也会像一个合格的ActiveX组件一样运行。因此,测试COM调用的一种简单方法是使用JavaScript代码编写一个简单的HTML页面,如下所示:SetMyCOMObj=Server.CreateObject("NAME_OF_COM_EXPOSED_CLASS");MyCOMObj.My_COM_Method();如果您调用这样的方法,则表示您的COM调用工作正常。感谢AnugrahAtreyahttp://explorecsharp.blogspot.com以上就是C#学习教程:调用C#COM对象的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
