Direttiva using (Riferimenti per C#)

La direttiva using consente di effettuare le due seguenti operazioni:

  • Per consentire l'utilizzo dei tipi in uno spazio dei nomi in modo da evitare di dover qualificare l'utilizzo di un tipo in tale spazio dei nomi:

    using System.Text;
    
  • Creare un alias per uno spazio dei nomi o un tipo. Questa operazione è denominata direttiva alias using.

    using Project = PC.MyCompany.Project;
    

La parola chiave using viene anche utilizzata per creare istruzioni using, che assicurano la gestione corretta di oggetti IDisposable, quali file e tipi di carattere. Per ulteriori informazioni, vedere Istruzione using.

Note

L'ambito di una direttiva using è limitato al file nel quale è contenuto.

Creare un alias using per rendere più semplice la qualificazione di un identificatore in uno spazio dei nomi o in un tipo. La parte destra di una direttiva alias using deve sempre essere un tipo completo indipendentemente delle direttive using precedenti.

Creare una direttiva using per utilizzare i tipi in uno spazio di nomi , senza dover qualificare lo spazio dei nomi. Una direttiva using non fornisce l'accesso a tutti gli spazi dei nomi annidati nello spazio dei nomi specificato.

Gli spazi dei nomi possono essere di due tipi: definito dall'utente e definito dal sistema. Gli spazi dei nomi definiti dall'utente sono definiti a livello di codice. Per un elenco di spazi dei nomi definiti dal sistema, vedere la classe Libreria di classi di .NET Framework.

Per esempi sui riferimenti ai metodi presenti in altri assembly, vedere Creazione e utilizzo di DLL del linguaggio C#.

Esempio 1

Oggetto di descrizione

Nell'esempio riportato di seguito viene illustrato come definire e utilizzare un alias using per uno spazio dei nomi:

Codice

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 { }
        }
    }
}

Commenti

Una direttiva alias using non può disporre di un tipo generico aperto nella parte destra. Ad esempio, non è possibile creare un alias using per List<T>, ma è possibile crearne uno per List<int>.

Esempio 2

Oggetto di descrizione

Nell'esempio riportato di seguito viene illustrato come definire una direttiva using e un alias using per una classe:

Codice

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.

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.

Vedere anche

Riferimenti

Parole chiave di C#

Parole chiave per spazi dei nomi (Riferimenti per C#)

Spazi dei nomi (Guida per programmatori C#)

Istruzione using (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#