gpt4 book ai didi

c# - 在 C++ 中扩展 C# 类

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:01 25 4
gpt4 key购买 nike

我有一个主要用 C# 编写的项目。现在,由于外部库的一些限制,我需要合并一些在单独项目中定义的 C++ 代码。

是否可以在 Visual Studio c++\cli 库中创建一个 C++ 类,以扩展在单独的 DLL 库中定义的 C# 类?

基本上,我需要使用继承在新的 C++ 类中共享抽象 C# 类中定义的一些代码。

最佳答案

您可以在 C++ 项目中扩展 C# 类,实现 ref 子类,在/clr 编译源中定义如下:

public ref class CPPRefClass: public CSharpClass

这当然意味着 CPPRefClass 仍然是一个 .NET 类,但您可以使用委托(delegate)在纯 C++ 类中使用它。

您甚至可以使用 gcroot 模板将其定义为 C++ native 类的成员:

class NativeClass
{
private:
gcroot<CPPRefClass^> m_CPPRefClass;

}

这是另一个例子: https://msdn.microsoft.com/en-us/library/aeb4be4k

关于c# - 在 C++ 中扩展 C# 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41746797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com