using Directive (C# Reference)
The using directive has two uses:
To permit the use of types in a namespace so you do not have to qualify the use of a type in that namespace.
To create an alias for a namespace.
The using keyword is also be used to create using statements, which define when an object will be disposed. See using Statement for more information.
using namespace;
using alias = type|namespace;
Parameters
- Alias
A user-defined symbol that you want to represent a namespace or type. You will then be able to use alias to represent the namespace name.
- Type
The type that you want to be represented by alias.
- namespace
The namespace that you want to be represented by alias.-or-The namespace containing types you want to use without having to specify the fully qualified name.
Remarks
The scope of a using directive is limited to the file in which it appears.
Create a using alias to make it easier to qualify an identifier to a namespace or type.
Create a using directive to use the types in a namespace without having to specify the namespace. A using directive does not give you access to any namespaces that are nested in the namespace you specify.
Namespaces come in two categories: user-defined and system-defined. User-defined namespaces are namespaces defined in your code. For a list of the system-defined namespaces, see .NET Framework Class Library Reference.
For examples on referencing methods in other assemblies, see Creating and Using C# DLLs.
Example 1
The following example shows how to define and use a using alias for a namespace:
using MyAlias = MyCompany.Proj.Nested;
// Define an alias to represent a namespace.
namespace MyCompany.Proj
{
public class MyClass
{
public static void DoNothing()
{
}
}
}
Example 2
The following example shows how to define a using directive and a using alias for a class:
// cs_using_directive2.cs
// Using directive.
using System;
// Using alias for a class.
using AliasToMyClass = NameSpace1.MyClass;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
}
}
namespace NameSpace3
{
// Using directive:
using NameSpace1;
// Using directive:
using NameSpace2;
class MainClass
{
static void Main()
{
AliasToMyClass somevar = new AliasToMyClass();
Console.WriteLine(somevar);
}
}
}
Output
You are in NameSpace1.MyClass
C# Language Specification
For more information, see the following sections in the C# Language Specification:
- 9.3 Using directives
See Also
Reference
C# Keywords
Namespace Keywords (C# Reference)
using Statement (C# Reference)
Concepts
C# Programming Guide
Namespaces (C# Programming Guide)