我只想发出调试器;从 c# 脚本清晰的代码到 javascript。我意识到我可以编写Script.Literal("debugger")。除非绝对需要,否则我宁愿不使用 Script.Literal。我更喜欢写 Debugger.Break(); 之类的东西。在 c# 中,发出的 javascript 只是调试器;如果我创建一个导入库,是否有某种属性可以让我这样做?
问问题
927 次
2 回答
3
这是一个相当黑客,但它的工作原理。当您想做的事情没有得到官方支持时,您必须发挥创造力,对吗?
它基于 Script.Alert 的工作方式,并利用该[ScriptAlias]
属性来包含 JavaScript 注释。幸运的是,ScriptAliasAttribute 传递了准确提供的值,并且不会以任何方式对其进行清理。
namespace MyNamespace
{
[GlobalMethods]
[IgnoreNamespace]
[Imported]
public static class Debugger
{
[ScriptAlias("debugger;//")]//must comment out ();
public static void Break()
{
//this outputs - debugger;//();
}
}
}
因此,使用上面的代码,您可以编写Debugger.Break();
您的 C# 代码,并且您将获得debugger;//();
发出的 JavaScript。有点丑陋,但它的工作原理。
于 2012-04-12T23:20:55.117 回答
0
为什么不使用 Debug.Fail ... 这将是 c# 代码的规范。
于 2012-05-22T21:25:54.160 回答