экспорт typedefs в .NET DLL - PullRequest
2 голосов
/ 30 марта 2011

Я написал оболочку для C ++ dll в C ++ / CLI. Внутри обертки я сделал несколько typedefs. Есть ли способ экспортировать эти имена как классы .NET?


Справочная информация: классы typedef'd представляют собой некоторые шаблоны. Чтобы эти шаблоны работали, вам нужен управляемый и собственный параметр (это часть перевода). Это невозможно для клиента программы для программирования / знать. Вот почему ему нужны разные псевдонимы для используемых версий шаблона.

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

У меня не так много информации, но определение типов должно работать только на типах Clr. Общие классы, может быть, но шаблонные классы не могут быть typedefed. Также среди нативных типов, только те, которые являются общими (слово «общий» может быть здесь неправильным.) Для .net, то есть double, int, char, Char * (не char *) и т. Д. Этот код работает и вводит «новый» тип в clr.

namespace example
{
#ifdef _WIN64
  typedef sizeT UInt64
#else 
  typedef sizeT UInt32
#endif
}

Теперь у вас есть size_t .Net, размер которого зависит от платформы.

1 голос
/ 30 марта 2011

Я обменял typedef с некоторыми новыми определениями классов, которые получены из шаблона. Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...