C#中的托管C ++ dll:只能引用无参数构造函数

时间:2013-05-04 19:32:19

标签: c# c++ dll dllexport

我正在尝试将作为托管C ++链接的第三方dll导入VS2010中的C#。据我所知,这应该是可能的。 dll也可以通过Add Reference加载,但即使在对象浏览器中可以看到整个DLL的内容,我也无法访问命名空间中的任何内容

但是有一个例外:如果我在DLL中公开类(我有源代码),我可以访问类的无参数构造函数,但就是这样。 我尝试了各种各样的解决方案,包括将所有内容都包含在extern "C++"中,但这没有任何区别。

我可能做错了什么?请注意,C ++项目没有dllMAin文件。

这些类在C ++项目中声明如下:

#ifndef _POINT_H
#define _POINT_H
***usings***
namespace NS {
    public class __declspec(dllexport) Point
    {
    private:
        double* pstart_;
        int n_;
    public :
        Point()
        : pstart_(0), n_(0)
        {}
         Point(double x, double y)
        : pstart_(new double[2]), n_(2)
        {
        pstart_[0] = x;
        pstart_[1] = y;
        }
    Methods etc...
    }
}

0 个答案:

没有答案