2009-07-23 54 views

回答

6

模板类无法导出。直到有人实例化它才存在。你应该明确地实例化它,然后像往常一样导出它。

1

您可以像创建任何其他DLL一样创建它--DLL背后的主要思想是它可以用任何编程语言创建,并且可以与其他任何其他DLL一起使用。请记住,C++是非托管的,因此必须谨慎对待。看看例如here(MSDN论坛)。

One more link.

一般情况下,使用的DllImport装饰从DLL导入功能文件您已经用C++创建。从MSDN例如:

using System.Runtime.InteropServices; // DllImport 
public class Win32 { 
    [DllImport("User32.Dll")] 
    public static extern void SetWindowText(int h, String s); 
} 
+0

+1,但你应该加一点使用的DllImport – 2009-07-23 12:38:51

1

通过使用C++/CLI,可以暴露你的C++类的,他们使用兼容功能的.NET类。但是,您不能公开您的模板定义,但可能能够使用专门用于该模板的具体类。

当您构建C++/CLI类时,您可以像引用其他.NET程序集一样引用它。

0

据我记得有一点问题。 有可能让C#使用C++ Dll(托管和非托管) 非托管C++可能使用C#Dll(您需要通过COM和界面执行此操作)。

我去看看我能找到的链接,告诉它所有的详细信息

相关问题