Я хочу предоставить библиотеку C ++ приложению C #, и я решил использовать подход обертки C ++ / CLI вместо P / Invoke. Проблема, с которой я сейчас сталкиваюсь, заключается в том, как предоставить шаблонный класс в C ++ lib приложению C # с помощью обобщений.
На стороне C ++ у меня есть:
template <typename T> class Someclass;
И моя цель - предоставить приложению C # следующий тип
class Someclass<T> {}
Итак, вопрос в том, как должна выглядеть моя оболочка C ++ / CLI. Я попробовал наивный подход и создал шаблонный тип в C ++ / CLI, и, естественно, я не смог создать экземпляр класса в C # с общими параметрами. И если я представлю класс как универсальный класс, я не смогу передать его в C ++.
Отказ от ответственности: Я новичок в C ++, поэтому, пожалуйста, будьте осторожны:)
Я знаком с различиями между шаблонами и шаблонами, поэтому не нужно их объяснять. У меня такое плохое предчувствие, что то, что я хочу, не выполнимо, но, поскольку я относительно новичок в C ++, я надеюсь, что смогу как-то достичь этого.