Как: Предоставить структуры / типы данных C (структуры, перечисления) для использования с C #?

#c# #c #types #interop

#c# #c #типы #взаимодействие

Вопрос:

Как предоставить C структуры / типы данных (structs, enums) для использования с C# .

Один из способов — определить эквивалентные типы в C# , что не является хорошим способом, поскольку вы должны постоянно обновлять их и синхронизировать с C заголовочным файлом.

Есть ли лучший способ?

Ответ №1:

COM-взаимодействие с библиотеками типов:

http://msdn.microsoft.com/en-us/library/aa645736 (v = против71).aspx

Комментарии:

1. Спасибо за ответ. По-видимому, нет способа импортировать типы данных, такие как struct, перечисления в файлах заголовков, в управляемый мир для повторного использования. В итоге я снова переопределил типы данных в C #.

Ответ №2:

Вы смотрели на SWIG?

Это инструмент, который считывает ваши заголовочные файлы C / C и генерирует объединяющий код для ряда языков, включая C #.