如果我有个class,是c++的标准类,假设它是这样的结果
class abc 
{
public:
    void aa();
    void bb();
private:
    void cc();
};
在c#中怎样调用这个类?怎么申明?
各位大哥说的具体点吧,我是菜鸟

解决方案 »

  1.   

    在C++里编译成dll
    然后引用这个dll就能够使用了
      

  2.   

    c++写的dll,是什么类型,是标准的dll还是类库。如果是前者,需要exports出来;如果是后者,可以通过引用来使用。
      

  3.   

    public class abc 
      { 
      [DllImport("abc.dll", 
       EntryPoint=" abc ", 
       CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)] 
       public extern void aa();
      }
      

  4.   

    c++那个类是托管代码,可以通过引用直接使用,
    如果是非托管的win32dll,C#是用不了的,基本可以说除了c++,谁也用不了
      

  5.   

    public class abc 
      { 
      [DllImport("abc.dll", 
       EntryPoint=" abc ", 
       CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)] 
       public extern void aa();
      }
    这个方法我试了,报错说static 和extern要一起用
    dll是我在vc6写的,class __declspec(dllexport) abc{};方式,
    但是到vc#.net03用上面的方法导出不了,不知道哪个大哥有高见?????
      

  6.   

    changepublic extern void aa();with
    public extern static void aa();
      

  7.   

    问题你的dll是否这样输出的。