1

次のコードがあります。

module Dialog {
    export class Modal {
        static createAccessModal(link: Link) {
            createModal(link);
        }
        static createAdminModal(link: Link) {
            link.Modal.MaxHeight = 600;
            link.Modal.Width = false;
            createModal(link);
        }
        static private createModal(link: Link) {

            ...
        }
    }
}

createModal を直接呼び出すことは許可されたくないので、非公開にしようとしました。インテリセンスを使用すると、それに対して小さなロック記号が表示されますが、使用してもエラーは発生しません。私がこれを行うことができる他の方法はありますか?関数を呼び出す方法は次のとおりです。

Dialog.Modal.createAccessModal(link); // I want this to be allowed
Dialog.Modal.createModal(link); // I don't want this to be allowed

ちなみに、これらの関数は画面上にオブジェクトを作成するだけで、オブジェクトは独自の送信ボタンなどを持っているため、自分自身を処理するため、すべてに静的関数を使用しています。これは合理的なことですか?

4

1 に答える 1

2
module Dialog {
    export module Modal {
        export function createAccessModal(link: Link) {
            createModal(link);
        }
        export function createAdminModal(link: Link) {
            link.Modal.MaxHeight = 600;
            link.Modal.Width = false;
            createModal(link);
        }
        function createModal(link: Link) {

            ...
        }
    }
}
于 2012-11-20T07:15:58.080 に答える