using 指示詞 (C# 參考)
using 指示詞有兩種用法:
允許在命名空間中使用型別,如此一來,您就不需在該命名空間內限定型別的使用:
using System.Text;
建立命名空間或型別的別名 (Alias)。 這稱為「using 別名指示詞」(using Alias Directive)。
using Project = PC.MyCompany.Project;
using 關鍵字也可用來建立 using 陳述式,這個陳述式可確保正確處理檔案和字型這類的 IDisposable 物件。 如需詳細資訊,請參閱 using 陳述式。
備註
using 指示詞的範圍限於它所出現的檔案。
建立 using 別名,可讓您更容易限定命名空間或型別的識別項。 using 別名指示詞的右邊必須是完整的型別,不管其前方的 using 指示詞為何都一樣。
建立 using 指示詞以便在使用命名空間裡的型別時,不必指定命名空間。 using 指示詞不讓您存取所指定之命名空間中的任何巢狀命名空間。
命名空間有兩種類型:使用者自訂與系統定義。 使用者定義命名空間是在程式碼裡定義的命名空間。 如需系統所定義之命名空間的清單,請參閱 .NET Framework 類別庫。
如需在其他組件中參考方法的範例,請參閱建立和使用 C# DLL。
範例 1
描述
下列範例示範如何定義和使用命名空間的 using 別名:
程式碼
namespace PC
{
// Define an alias for the nested namespace.
using Project = PC.MyCompany.Project;
class A
{
void M()
{
// Use the alias
Project.MyClass mc = new Project.MyClass();
}
}
namespace MyCompany
{
namespace Project
{
public class MyClass { }
}
}
}
註解
using 別名指示詞的右邊不能有開放式泛型型別。 例如,您不能為 List<T> 建立 using 別名,但是可以為 List<int> 建立 using 別名。
範例 2
描述
下列範例示範如何定義類別的 using 指示詞及 using 別名:
程式碼
using System;
// Using alias directive for a class.
using AliasToMyClass = NameSpace1.MyClass;
// Using alias directive for a generic class.
using UsingAlias = NameSpace2.MyClass<int>;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass.";
}
}
}
namespace NameSpace2
{
class MyClass<T>
{
public override string ToString()
{
return "You are in NameSpace2.MyClass.";
}
}
}
namespace NameSpace3
{
// Using directive:
using NameSpace1;
// Using directive:
using NameSpace2;
class MainClass
{
static void Main()
{
AliasToMyClass instance1 = new AliasToMyClass();
Console.WriteLine(instance1);
UsingAlias instance2 = new UsingAlias();
Console.WriteLine(instance2);
}
}
}
// Output:
// You are in NameSpace1.MyClass.
// You are in NameSpace2.MyClass.
C# 語言規格
如需詳細資訊,請參閱 C# 語言規格。 語言規格是 C# 語法和用法的決定性來源。