SWIG对C#的支持好像还不太好,有时需要手动修改一些地方。
1. 模板类。
貌似不支持模板类的转化。在生成的*.cxx文件中,有些用到模板类的地方需要手动将命名空间加上。
2. 命名空间
SWIG将所有的接口都放在了定义的模块命名空间下。
3. 继承关系
文档上讲支持单继承,不支持多重继承,但是在使用的过程中感觉有些类的继承是有的,有些生成类就不包含继承。
我的处理方法是在生成类的基础上,再手动继承一下。
4. 不支持符号重载
C#和C++对符号重载的支持本就不一样,不用纠结了。