Метод Type.registerNamespace

Создает пространство имен. Этот элемент является статическим и его можно вызывать, не создавая экземпляр класса.

Type.registerNamespace(namespacePath)

namespacePath

Строка, представляющая собой полное пространство имен для регистрации.

Тип исключения

Атрибут Condition

Error.argument

(Отладка): namespacePath содержит недопустимые символы.

Error.invalidOperation

(Отладка): namespacePath не является допустимым пространством имен.

Метод registerNamespace используется для создания пространства имен. Пространство имен представляет собой определенную область, позволяющую организовывать код. Это особенно полезно в больших проектах. С помощью пространств имен можно группировать классы. В результате имя каждого класса определяется своим пространством имен, что позволяет создавать глобально уникальные имена классов.

В пространстве имен можно объявить один или несколько следующих классов:

  • другое пространство имен;

  • класс;

  • интерфейс;

  • перечисление;

  • Делегат.

В полное имя класса входит его пространство имен, отделяемое оператором . (точка), например, MyNamespace.MyType. Имя пространства имен может включать строчные и прописные буквы в диапазоне A-Z и целые числа в диапазоне 0-9.

В следующем примере показано, как метод registerNamespace используется для регистрации пространства имен Samples.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Sample</title>
</head>
<body>
    <form id="form1" runat="server">
       <asp:ScriptManager runat="server" ID="ScriptManager1">
       </asp:ScriptManager>

       <script type="text/javascript">
        // Register classes to test.
        Type.registerNamespace('Samples');

        Samples.A = function()
        {
            // Initialize as a base class.
            Samples.A.initializeBase(this);
        }

        Samples.B = function(){}
        Samples.C = function(){}

        Samples.A.registerClass('Samples.A');
        Samples.B.registerClass('Samples.B', Samples.A);

        Samples.C.registerClass('Samples.C');

        var isDerived;
        isDerived = Samples.B.inheritsFrom(Samples.A);
        // Output: "true".
        alert(isDerived);

        isDerived = Samples.C.inheritsFrom(Samples.A);
        // Output: "false".
        alert(isDerived);

        </script>
    </form>

</body>
</html>



Показ: