Condividi tramite


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 degli spazi dei nomi definiti dal sistema, vedere libreria di classi .NET Framework..

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

Esempio 1

sf0df423.collapse_all(it-it,VS.110).gifDescrizione

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

sf0df423.collapse_all(it-it,VS.110).gifCodice

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

sf0df423.collapse_all(it-it,VS.110).gifCommenti

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

sf0df423.collapse_all(it-it,VS.110).gifDescrizione

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

sf0df423.collapse_all(it-it,VS.110).gifCodice

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#