Если у вас есть заголовок (или вы можете сделать его из документации), вы сможете написать оболочку C ++ / CLI. Это просто C ++. В идеале должна быть удобная библиотека, тогда вы можете просто включить ссылку на заголовок в библиотеку.
Ваш код C ++ / CLI будет простой оболочкой для неуправляемых классов, что-то вроде:
public ref class Foo
{
private:
NativeFoo f;
public:
int method1(int i) {return f.method1(int i);}
// etc
};
[заявление об отказе: я набираю код в поле для ответов. Возможные опечатки, я полагаю.]
Вы создаете это, ваш код C # добавляет ссылку на результирующую сборку, затем в вашем коде C # вы просто используете Foo в качестве управляемого типа.
Это будет намного проще, чем вычисление искаженных имен. Да