3

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

4

2 回答 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 回答