我正在尝试使用由scala代码编译的jar文件中的ikvmc生成的DLL(是的,我的日子很棒).Scala编译器似乎生成包含运算符重载的美元符号的标识符,而IKVM使用生成的DLL中的那些(我可以在Reflector中看到它).问题是,美元符号在C#代码中是非法的,因此我无法引用这些方法.
有办法解决这个问题吗?
您应该能够使用反射访问时髦的方法.不是一个好的解决方案,但至少它应该工作.根据DLL中API的结构,可以创建围绕方法的包装器来本地化反射代码.然后从你的其余代码中调用漂亮的包装器.
另一种方法是破解目标DLL中的IL并更改标识符.或者在你自己的代码上做一些后期构建IL-hacking.
归档时间: |
|
查看次数: |
1096 次 |
最近记录: |