在.NET dll中导出typedef

时间:2011-03-30 12:53:50

标签: c++-cli

我在C ++ / CLI中为C ++ DLL编写了一个包装器。在包装器中,我做了一些typedef。有没有办法将这些名称导出为.NET类?


背景:typedef类是一些模板。要使这些模板起作用,您需要托管和本机参数(这是翻译的一部分)。这对包装器的客户端来说是不可能编程/知道的。这就是为什么他需要使用模板的旧版本的不同别名。

2 个答案:

答案 0 :(得分:1)

我用一些从模板派生的新类定义交换了typedef。这应该有用。

答案 1 :(得分:1)

我没有太多信息,但是typedefing应该仅适用于Clr类型。通用类,也许但模板类不能进行类型定义。同样在本机类型中,只有那些常见的(“常见”这个词在这里可能不正确。)到.net,即double,int,char,Char *(不是char *)等。 此代码有效,并向clr。

引入了“新”类型
namespace example
{
#ifdef _WIN64
  typedef sizeT UInt64
#else 
  typedef sizeT UInt32
#endif
}

现在你有.Net的size_t,其大小取决于平台。