我有一个关于为C#中使用的本机C ++类创建C ++ CLI Wrapper的问题。
以下是一个示例代码:
#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;
};
}
此代码工作正常。我需要检索引用本机类的指针,以便在其他包装类中使用它。但是,当我使用这个包装类时,我不希望函数“GetNative”在C#中可见。我怎么能隐藏它?
答案 0 :(得分:1)
如果其他包装类位于同一个程序集中,请访问internal而不是public。 - 罗杰罗兰于2013年4月25日9:47
如果他们不在同一个集会中? ...
请看friend assemblies - 塞巴斯蒂安卡博特2月1日15:43