我正在编写一个使用SharpKit的HTML解析器,它输出到Javascript;但是也希望在CsQuery中运行相同的代码,它会输出一个二进制文件。
我对SharpKit 几乎的代码可以直接在CsQuery中使用,但不完全如下:
我希望能够通过以编程方式执行这些更改来保持我的代码同步。这可能吗?解决方案here太旧了,无法使用C#4.0,但我觉得Rosalyn应该能够做到这一点。
答案 0 :(得分:0)
您可以使用JsMethodAttribute重命名SharpKit中的方法:
[JsMethod(Name="doSomething")]
public void DoSomething(){}
您可以通过设置Export = false:
以相同的方式排除方法[JsMethod(Export=false)]
public void DoSomething(){}
如果使用Clr模式(需要jsclr.js库),您应该能够使用完全相同的代码。或者通过使用本机Js和.NET方法,同时在JavaScript中扩展任何缺少的方法,例如,如果JavaScript没有String.StartsWith方法,您可以将其路由到不同的方法,或者使用扩展方法自己实现它
有关更多帮助和代码示例,请尝试使用SharpKit论坛: https://groups.google.com/forum/#!forum/sharpkit