C#里能使用MFC扩展的dll中的类吗
C#里能使用MFC扩展的dll中的类吗
------解决方案--------------------要用托管C++封装一下才能用!
不能直接用!
------解决方案--------------------就是C#是不能够直接用MFC的类库的!!!
------解决方案--------------------要编译成中间语言才能用
------解决方案--------------------mfc 做成com的
C#引用
------解决方案--------------------做成com
------解决方案--------------------using System.Text;
using System.Runtime.InteropServices;
[DllImport( "VC.DLL ", EntryPoint= "GetName ")]
public static extern int GetName(
int intPara1,
out intPara2,
ref intPara3,
string strPara4,
out string strPara5,
ref string strPara6,
StringBuilder strPara7);
部分参数对照表:
C++ I/O C#
char path[255] O StringBuilder
KCA_DIR I int
LPCSTR I string
int I int
LPSTR O StringBuilder
int* O out int
DWORD I int
DWORD* O out int
BOOL I bool
long* O out long
另:StringBuilder在使用时,必须指定大小:
StringBuilder strPara = new StringBuilder(255);