2
A
回答
4
您可以创建一个COM对象模型,东西是不可能的PInvoke。与支持方法,属性和事件的.NET类非常相似。一个很好的例子是Office互操作命名空间(如Microsoft.Office.Interop.Excel),在Office端以纯COM方式实现。
请注意,高度可用的COM库使用COM自动化,这是COM的一个子集,旨在使不同语言之间的互操作变得非常简单。但是它会对方法声明中可以使用的类型施加严格的限制。
用C++编写COM代码并不是特别容易,尽管ATL和内置的Visual Studio向导可以提供很多帮助。请考虑使用C++/CLI语言。得益于语言内置的互操作支持,开始更容易。
1
如果你的意思是从互操作的角度来看COM DLL和本地(非托管)DLL的差异,我会说COM服务器(DLL/EXE)更自然地映射到.Net代码风格(我的意思是,它们看起来类似于.Net世界中的对象)。从开发人员的角度来看(需要决定何时与COM或本地“原始”DLL),我会说COM允许你有更好的功能分组(接口)(当然COM有更多提供 - 例如,属性,事件等
只是我的0,02;)
最佳
相关问题
- 1. .NET COM可见DLL与Active X DLL
- 2. 传统DLL与COM DLL的区别
- 3. 与PHP沟通ATL COM dll
- 4. COM DLL的C + + dll
- 5. clickonce,添加本机dll,com免费注册
- 6. 在C#Com封装器中使用本机dll并在Silverlight中使用dll
- 7. COM DLL问题
- 8. DLL问题(COM)
- 9. 介绍COM DLL
- 10. 使用COM或dotnet在PHP与DLL C#
- 11. 与COM DLL调用WCF服务
- 12. PHP与Delphi COM + DLL和串行端口
- 13. C#COM DLL与gcServer =真实gcAllowVeryLargeObjects =真
- 14. 传统VB6 COM + DLL调用本地Win32 DLL - 线程问题与STA?
- 15. Py2exe的版本号为com dll
- 16. COM与ATL版本
- 17. COM DLL在VB6中?
- 18. 调试InProc COM DLL
- 19. 这是“好”:COM DLL或标准DLL与类型库?
- 20. 用.NET COM替换原生C++ COM .dll
- 21. VB.NET调用COM DLL调用另一个COM DLL的错误
- 22. AssemblyInfo修补本机DLL
- 23. 用WIX Heat(v3.5,v3.6)收获本机(x86或x64)COM Dll的注册信息?
- 24. 从C#COM DLL返回S_FALSE
- 25. 如何编写COM DLL?
- 26. 导入和调用COM DLL
- 27. 动态调用COM DLL
- 28. py2exe的COM DLL问题
- 29. csharp com可见DLL理解
- 30. 使用COM DLL失败REGDB_E_CLASSNOTREG
通常是因为它们已经存在。 – 2012-01-10 06:22:15
我不会称为托管的.NET程序集“原生” – 2012-01-10 06:23:46
@MitchWheat,对我来说也是一样 – SiberianGuy 2012-01-10 17:03:34