Подключение сишной dll - C#

Узнай цену своей работы

Формулировка задачи:

Всм привет! У меня есть dll, написаная на си Как правильно подключить функцию в C#?
Листинг программы
  1. extern "C" int DSTD DFindGoodsCode(const wchar_t* артикул,
  2. wchar_t* result,
  3. int result_size);
подключил так:
Листинг программы
  1. [DllImport("gc.dll", CharSet = CharSet.Auto)]
  2. extern static int DFindGoodsCode(
  3. [In, MarshalAs(UnmanagedType.LPWStr)] String ar,
  4. [Out, MarshalAs(UnmanagedType.LPWStr)] String result,
  5. int result_size);
использовал так:
Листинг программы
  1. String art="";
  2. String res="";
  3. DFindGoodsCode(art, res, 15);
  4. Console.WriteLine("New name="+res);
Как написать правильно использовать? И правильно ли я подключил функцию?

Решение задачи: «Подключение сишной dll»

textual
Листинг программы
  1. [DllImport("gc.dll", CharSet = CharSet.Unicode)]
  2. static extern int DFindGoodsCode(StringBuilder article, StringBuilder result, int result_size);
  3.  
  4. ...........
  5. StringBuilder artt = new StringBuilder(art);
  6. StringBuilder res = new StringBuilder();
  7. Console.WriteLine("code=" + DFindGoodsCode(artt, res, 50));
  8. Console.WriteLine("New name=" + res.ToString());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут