我正在创建一个用于C#的.dll,但我无法理解包装器。
假设我原来的C ++代码有一个如下所示的函数:
void classB::do_something(classA& parameterA);
在classA的C ++包装器中,类指针是私有的:
public ref class classAwrapper{
private:
classA* classapointer;
public:
...
}
由于我不能做到以下几点,
void classBwrapper::do_something(classAwrapper parameterA){
classbpointer->do_something(parameterA->classapointer);
}
有什么我可以做的吗?
答案 0 :(得分:0)
添加朋友。
写:
private:
friend class classBwrapper;
classA * classapointer;
而不是
private:
classA * classapointer;
您实际上可以将类和函数添加到“白名单”中。使用friend
关键字。除了classapointer
classBwrapper