我想发出只是调试器;从c#脚本急剧代码的javascript。 我意识到我可以写 Script.Literal(" debugger")。 除非绝对需要,否则我宁愿不使用Script.Literal。 我更喜欢写一些像Debugger.Break();在c#中,发出的javascript只是调试器; 如果我创建一个导入的库,是否有某种属性可以让我这样做?
答案 0 :(得分: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;//();
}
}
}
因此,使用上面的代码,您可以在C#代码中编写Debugger.Break();
,并在发出的JavaScript中获得debugger;//();
。有点难看,但它确实有效。
答案 1 :(得分:0)
为什么不使用Debug.Fail ...这是c#代码的标准。