发出javascript调试器;来自Script Sharp

时间:2012-04-12 18:34:18

标签: script#

我想发出只是调试器;从c#脚本急剧代码的javascript。 我意识到我可以写 Script.Literal(" debugger")。 除非绝对需要,否则我宁愿不使用Script.Literal。 我更喜欢写一些像Debugger.Break();在c#中,发出的javascript只是调试器; 如果我创建一个导入的库,是否有某种属性可以让我这样做?

2 个答案:

答案 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#代码的标准。