3

我有一个关于为要在 C# 中使用的本机 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;
    };
}

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

4

1 回答 1

1

如果其他包装类在同一个程序集中,则将访​​问设置为内部而不是公共的。– 罗杰罗兰 2013 年 4 月 25 日在 9:47

.

如果他们不在同一个程序集中?...

查看朋友集会– Sebastian Cabot 2 月 1 日 15:43

于 2014-06-20T09:23:18.657 回答