1. C#中调用C++编写的dll,能不能去实例化这个dll中的类,或者说如何通过这个类调用这个类中的静态方法

1.C#中调用C++编写的dll,能不能去实例化这个dll中的类,或者说如何通过这个类调用这个类中的静态方法例子extern"C"{class__declspec(dll... 1. C#中调用C++编写的dll,能不能去实例化这个dll中的类,或者说如何通过这个类调用这个类中的静态方法
例子
extern "C" {
class __declspec(dllexport) MRT
{
public :
static int Init();
static int Login(UserInfo *uinfo);
static int check();
static int QueryManualTask();
};
};

在C#中如何调用dll中这些方法。
展开
 我来答
丈室有高朋
2011-09-06 · TA获得超过242个赞
知道答主
回答量:89
采纳率:0%
帮助的人:58.7万
展开全部
我把我代码中的一些调用C++写的Dll函数的方法发给你看看。希望对你有所帮助,记得要再Vs中开放允许调用不安全的代码。不然是调用不了的
[DllImport("fisLANTestDLL.dll", EntryPoint = "StartDB", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
extern public unsafe static int StartDB(sbyte* msg);

[DllImport("kernel32")]
public static extern int GetPrivateProfileInt(string lpApplicationName,
string lpKeyName, int nDefault, string lpFileName);
追问
C#中调用C++编写的dll,能不能去实例化这个dll中的类,我调用的是类MRT中的方法,应该怎么调用,请大侠说清楚
追答
我沒有試過去實例化Dll中的類,你實例化類也無非是去調用它裏面的函數或是方法。我給你的2個例子,就是可以直接調用Dll中包含的方法或是函數的[DllImport("kernel32")] public static extern int GetPrivateProfileInt(string lpApplicationName,string lpKeyName, int nDefault, string lpFileName)中GetPrivateProfileInt就是Dll中的函數名稱,而[DllImport("kernel32")]中的“kernel32”就是你要調用的Dll名稱。你需要在頂部先加入using   System.Runtime.InteropServices;   這樣你就可以調用外部的Dll了。你試試看吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ashurta
2011-09-06 · 超过19用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:49.8万
展开全部
和调用其他的DLL的方法一样,但是你首先得将C++的类编译发布成DLL文件才行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友586e433
2011-09-06 · TA获得超过3491个赞
知道小有建树答主
回答量:1221
采纳率:0%
帮助的人:1409万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式