在我的C#代码,我需要从C ++ DLL,我wrote.The功能是通用的调用一个函数。 所以,我应该只是导入它是这样的:
[DllImport("myDll.dll")]
private static extern TypeName functionName<TypeName>( int arg1, int arg2 );
这是正确的语法? 谢谢。
在我的C#代码,我需要从C ++ DLL,我wrote.The功能是通用的调用一个函数。 所以,我应该只是导入它是这样的:
[DllImport("myDll.dll")]
private static extern TypeName functionName<TypeName>( int arg1, int arg2 );
这是正确的语法? 谢谢。
这可不行,没有主流的C ++编译器,使模板导出。 此外,模板是由C ++编译器通过类型擦除,类似的方式Java泛型实例化的作品。 换句话说,在混凝土可调用函数必须被嵌入在由C ++编译器的DLL。 他们不再是通用的。
作为替代方案,可以编写在C ++ / CLI语言一个引用类。 这会产生一个真正的.NET泛型类,由支持泛型任何.NET语言使用。