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 に答える