您可以通过COM Interop或C++/CLI
. 使用C++/CLI
您可以创建自己的包装对象/类,这些对象/类可直接在 C# 中使用。了解 C++ 和 C#,语法对您来说会有些熟悉(并且网上有很好的资源)。
C++/CLI 可能需要更多的工作,因为您需要编写 CLI 包装器,但会使 C# 代码中的内容更清晰(我的观点)。
下面这篇文章应该可以帮助您入门:快速 C++/CLI - 在不到 10 分钟的时间内学习 C++/CLI
更深入的文章:http: //msdn.microsoft.com/en-us/magazine/cc163852.aspx
从上面借来的一个代码示例(显示语法),使事情变得更令人兴奋。Student
是您的 C++ 类,StudentWrapper
是要在您的 C# 代码中使用的 CLI 包装器:
public ref class StudentWrapper
{
private:
Student *_stu;
public:
StudentWrapper(String ^fullname, double gpa)
{
_stu = new Student((char *)
System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(
fullname).ToPointer(),
gpa);
}
~StudentWrapper()
{
delete _stu;
_stu = 0;
}
property String ^Name
{
String ^get()
{
return gcnew String(_stu->getName());
}
}
property double Gpa
{
double get()
{
return _stu->getGpa();
}
}
};