VC++ 调用C#DLL方法(备忘)
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 ", c->Name); return 0; }3 几点要记住:
1 使用#using引用C# DLL,而不是#include。路径要注意设置正确
2 别忘了using namespace CSLib;
3 使用C++/clr语法,采用正确的访问托管对象,即:使用帽子^,而不是星星*,在项目->属性->配置属性->常规 ---->公共语言运行支持库->公共语言运行库支持(/clr).
如果要在非托管类中应用此对象,如何操作呢。
需要用到gcroot<Class1^> testClass来声明,testClass = gcnew Class1()来定义; 然后就可以象操作普通对象一样了