Getting Started with ASP.NET Web Forms
In This Topic
    Namespaces
    In This Topic

    Namespaces organize the objects defined in an assembly. Assemblies can contain multiple namespaces, which can in turn contain other namespaces. Namespaces prevent ambiguity and simplify references when using large groups of objects such as class libraries.

    The general namespace for ComponentOne Web products is C1.Web. The following code fragment shows how to declare a C1Accordion using the fully qualified name for this class:

    Visual Basic
    Copy Code
    Dim Accordion As C1.Web.Wijmo.Controls.C1Accordion
    

    C#
    Copy Code
    C1.Web.Wijmo.Controls.C1Accordion Accordion;
    

    Namespaces address a problem sometimes known as namespace pollution, in which the developer of a class library is hampered by the use of similar names in another library. These conflicts with existing components are sometimes called name collisions.

    Fully qualified names are object references that are prefixed with the name of the namespace where the object is defined. You can use objects defined in other projects if you create a reference to the class (by choosing Add Reference from the Project menu) and then use the fully qualified name for the object in your code.

    Fully qualified names prevent naming conflicts because the compiler can always determine which object is being used. However, the names themselves can get long and cumbersome. To get around this, you can use the Imports statement (using in C#) to define an alias — an abbreviated name you can use in place of a fully qualified name. For example, the following code snippet creates aliases for two fully qualified names, and uses these aliases to define two objects:

    Visual Basic
    Copy Code
    Imports C1Accordion = C1.Web.UI.Controls.C1Accordion
    Imports MyAccordion = MyProject.Objects.C1Accordion
    Dim wm1 As C1Accordion
    Dim wm2 As MyAccordion
    

    C#
    Copy Code
    using C1Accordion = C1.Web.UI.Controls.C1Accordion;
    using MyAccordion = MyProject.Objects.C1Input.C1Accordion;
    
    C1Accordion wm1;
    MyAccordion wm2;
    

    If you use the Imports statement without an alias, you can use all the names in that namespace without qualification provided they are unique to the project.