gpt4 book ai didi

c++-cli - C++ CLI 包装器

转载 作者:行者123 更新时间:2023-12-02 03:47:05 31 4
gpt4 key购买 nike

我有一个关于为要在 C# 中使用的 native C++ 类创建 C++ CLI 包装器的问题。

这是一个示例代码:

#include "stdafx.h"

#pragma once

using namespace System;

namespace Wrapper {

class NativeClass
{
public:
NativeClass() {}
int Add(int a, int b)
{
return a+b;
}
};

public ref class Wrapper
{
public:
Wrapper() {pNative = new NativeClass();}
int Add(int a, int b)
{
return(pNative->Add(a,b));
}
~Wrapper()
{
delete pNative;
pNative = 0;
}
!Wrapper()
{
this->~Wrapper();
}
//My problem is here.
NativeClass* GetNative()
{
return pNative;
}
private:
NativeClass* pNative;
};
}

这段代码工作正常。我需要检索引用 native 类的指针,以便在其他包装类中使用它。但是,当我使用这个包装类时,我不希望函数“GetNative”在 C# 中可见。我怎样才能隐藏它?

最佳答案

If the other wrapper classes are in the same assembly, make the access internal instead of public. – Roger Rowland Apr 25 '13 at 9:47

.

if they are not in the same assembly? ...

Look into friend assemblies – Sebastian Cabot Feb 1 at 15:43

关于c++-cli - C++ CLI 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211341/

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