Изображение по умолчанию должно быть в кодировке base64. Вы можете получить строку base64 вашего изображения по умолчанию, например здесь .
Затем проверьте значение $ Image [$ i] в цикле for. Если это значение означает отсутствие изображения в БД, установите для jImages ['. $ I.'] Значение base64 вашего изображения по умолчанию.
Простой способ принять класс Foo:
Затем, Вы заставляете свой код c# зависеть от FooWrapper project/dll и гарантировать, что неуправляемый dll правильно развертывается с ним, как это сделано, зависит от неуправляемого dll, но в том же каталоге обычно достаточно.
, Если функции не полагаются на экземпляры класса, затем еще более простого, P/Invoke
Этот ответ мог бы быть излишеством для библиотеки единого класса, но БОЛЬШОЙ ГЛОТОК является хорошим решением для "обертывания" классов C/C++ для использования с других языков. Это работает хорошо с C#.
См. http://www.swig.org/ .
DllImport является Вашим лучшим выбором. Существует немного массирования типа данных, особенно если Вы передаете структуры, но можно сделать почти что-либо с ним.
Вам нужен прокси (шаблон GoF) посредник для образования моста управляемой/неуправляемой границы.
Две опции:
Первый будет более прямым, и последний имеет два шага чистый C++-> COM->.NET.
Иногда, легче обеспечить Ваш собственный интерфейс C. БОЛЬШОЙ ГЛОТОК нетривиален для установки. У меня есть управляемый С++ использования и C++ / CLI, и они в порядке. Самое легкое просто делало обертку C (и может использоваться приблизительно любым другим языком, так как большинство имеет способ вызвать функцию C).