c++开发com组件,供C#调用

des2006 2008-04-24 05:27:30
问题情景:

1、数据库访问的底层操作,我是自己写的数据库类,语言C++ ,用到了stl中的vector,string
2、web page用的是C#

问题:

C#中,如何调用C++的内容,C++中的函数,我知道用dllimport的方式,可以将dll导入使用,可是对于在C++中,自己定义的类,如何在C#中使用呢??

希望的解决方式:

给出C#调用C++的部分代码,其中C++中,用到了vector,string,是自己定义的类,以及结构体 ,由于希望对C#开发者来说,屏蔽语言的差别,所以打算用com的方式

此外的我的数据库操作有多个类
底层:数据库操作类
中间:数据表映射类(多个)
上层:统一封装接口类,所以怎么封装比较好呢?

本人初次接触这个问题,请尽量详细点吧,觉得分不够,可以另外开贴送分。
...全文
240 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2008-04-26
  • 打赏
  • 举报
回复
简单一点说,就是楼主需要 在组件中 支持IDispatch 接口
grellen 2008-04-24
  • 打赏
  • 举报
回复
mark
libaoxia 2008-04-24
  • 打赏
  • 举报
回复
不用com也行,只要你符合通用语言规范就行了,按逻辑分层的话,底层应该是数据库操作API(跟操作系统有关),中层是具体数据表,视图等操作,上层是接口层
  • 打赏
  • 举报
回复
可是对于在C++中,自己定义的类,如何在C#中使用呢?? 没什么好的办法
比较好的解决办法是用C++/CLI做中间的接口

或者你的接口就使用C++/CLI来写.这样又能用stl就能做接口.多方便.但要注意,接口都得使用托管的类型

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧