1 创建C# DLL,需要指定应用类型为“类库”,代码:
1 使用#using引用C# DLL,而不是#include。路径要注意设置正确
2 别忘了using namespace CSLib;
3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子'^',而不是星星'*',在项目->属性->配置属性->常规 ---->公共语言运行支持库->公共语言运行库支持(/clr).
如果要在非托管类中应用此对象,如何操作呢。
需要用到gcroot<Class1^> testClass来声明,testClass = gcnew Class1()来定义; 然后就可以象操作普通对象一样了
namespace CSLib
{
public class Class1
{
private string name;
public string Name
{
get
{
return name;
}
set
{
name = "Your Name: " + value;
}
}
}
}
2 C++客户程序,是个控制台应用,代码:
#using "..\\debug\\CSLib.dll"
using namespace CSLib;
int _tmain(int argc, _TCHAR* argv[])
{
Class1 ^c = gcnew Class1();
c->Name = "TEST";
printf("%s\n", c->Name);
return 0;
}
3 几点要记住:
1 使用#using引用C# DLL,而不是#include。路径要注意设置正确
2 别忘了using namespace CSLib;
3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子'^',而不是星星'*',在项目->属性->配置属性->常规 ---->公共语言运行支持库->公共语言运行库支持(/clr).
如果要在非托管类中应用此对象,如何操作呢。
需要用到gcroot<Class1^> testClass来声明,testClass = gcnew Class1()来定义; 然后就可以象操作普通对象一样了