2

Visual Studio 2008 の javascript インテリセンス ドロップダウン リストに表示されないように、特定の関数/フィールドを非表示にすることはできますか? 特定の方法でプライベートに名前を付けるか、javascript documentaion XML のどちらかですか?

まさにこの動作を意味するjquery vsdocファイルを見てきまし<private />たが、私の期待を満たしていません

{
    __hiddenField: 0,
    /// <private />
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

ただし、フィールドにはドキュメントを含めることができないため (ボディがないため)、上部にドキュメントを作成する必要があります。しかし、まだ動作しません:

{
    /// <field name="__hiddenField" type="Number" private="true">PRIVATE USE</field>
    __hiddenField: 0,
    increment: function(){
        /// <summary>Increments a private variable</summary>
        __hiddenField++;
    }
}

不可能は完全に可能な答えであり、実際には不可能であるという知識があれば受け入れられます。

4

2 に答える 2

1

インテリセンスから非表示にする方法はわかりませんが、次のようにクロージャーを使用して変数を完全に非表示にすることができます。

(function(){
    var hiddenField = 0;

    // not sure how you're defining your object; 
    // I'll just assume a global variable
    window.something = {
        increment: function(){
            /// <summary>Increments a private variable</summary>
            hiddenField++;
        }
    }
})();

これにより、定義の周りに匿名関数が作成されるため、window.something.increment() が機能し、「hiddenField」は完全に非表示になります。

于 2010-03-25T05:40:40.283 に答える
0

関数/フィールドをプライベートにするには、名前の前にハイフンを追加する必要があると思います。

_increment: function(){
    /// <summary>Increments a private variable</summary>
    __hiddenField++;
}
于 2009-11-19T09:26:17.427 に答える