共用方式為


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# 語法和用法的決定性來源。

請參閱

參考

C# 關鍵字

命名空間關鍵字 (C# 參考)

命名空間 (C# 程式設計手冊)

using 陳述式 (C# 參考)

概念

C# 程式設計手冊

其他資源

C# 參考