Ho visto questo C# utilizzando dichiarazione in un esempio di codice:Cos'è la direttiva C# "using"?
using StringFormat=System.Drawing.StringFormat;
Che cos'è tutto questo?
Ho visto questo C# utilizzando dichiarazione in un esempio di codice:Cos'è la direttiva C# "using"?
using StringFormat=System.Drawing.StringFormat;
Che cos'è tutto questo?
Aliasing di un nome di tipo su un nome più breve. La stessa sintassi può anche essere utilizzata per l'aliasing degli spazi dei nomi. Vedi using directive.
(Aggiornato in risposta a Richard)
Namespace/or/type alias, per la precisione. –
È un modo generalmente accettato di nominare i tuoi generici? per esempio. using DestinationMap = System.Collections.Generic.Dictionary
@noselasd: no, non è una pratica comune.Certo, puoi farlo se vuoi, ma lo sconsiglio vivamente, perché è molto confuso ... Sarebbe meglio creare una classe DestinationMap che eredita dal dizionario
Significa che si sta utilizzando StringFormat come alias per System.Drawing.StringFormat;
E 'un alias, da ora in poi, l'utente può utilizzare StringFormat per riferirsi a System.Drawing.StringFormat. È utile se non si desidera utilizzare l'intero spazio dei nomi (in caso di problemi di conflitto di nomi, ad esempio).
Stavo per dire non ha senso usare lo stesso nome, ma dato che hai detto che eviterà di includere l'intero spazio dei nomi, ha senso. Senza questo punto, il resto delle risposte sono incomplete. –
E 'un alias per lo spazio dei nomi
Questo definirà un alias per System.Drawing.StringFormat.
Questa è la stessa cosa come in questo esempio:
using SQL = System.Data.SqlServer;
SQL.SqlConnection sql = new SQL.SqlConnection();
Forse un diverso, StringFormat estraneo viene dichiarata in un altro spazio dei nomi come Acme.Stuff. Se così fosse, ciò causerebbe confusione:
using System.Drawing; // Contains StringFormat type.
using Acme.Stuff; // Contains another StringFormat type.
private void Foo()
{
StringFormat myFormat = new StringFormat(); // which one to use?
}
aliasing è con using sulla StringFormat = System.Drawing.StringFormat schiarisce alcuni della confusione.
La parola chiave using viene utilizzata per l'importazione di spazi dei nomi o classi di aliasing o per la gestione dell'ambito su oggetti monouso. Qui stiamo parlando dell'uso dello spazio dei nomi.
using StringFormat=System.Drawing.StringFormat;
Il modo in cui è stato utilizzato usando qui è un po 'insolito in C#, ma più comune nelle istruzioni di importazione Java. Quello che fa è fornire un alias StringFormat senza importare l'intero spazio dei nomi System.Drawing. Alcune persone con uno sfondo Java come importare proattivamente solo le classi utilizzate piuttosto che interi anmespaces (ovvero i pacchetti Java). Probabilmente si evitano proattivamente potenziali conflitti di nomi se si importano solo nomi di classi specifici ma non è molto comune in C# e Visual Studio non lo incoraggia come, ad esempio, fa Netbeans per Java.
L'uso più comune dell'aliasing consiste nel risolvere i nomi di classe in un alias abbreviato in presenza di un conflitto di denominazione.
using System.Drawing;
using AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing;
/* AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing has a StringFormat class */
using AwesomeStringFormat = AwesomeCompany.ReallyAwesomeStuff.AwesomeLibrary.Drawing.Stringformat;
using StringFormat = System.Drawing.StringFormat;
public class AwesomeForm() : Form
{
private AwesomeForm()
{
AwesomeStringFormat stringFormat = new AwesomeStringFormat();
stringFormat.Color = Color.Red;
/* etc */
}
}
per aiutare nella prevenzione del namespace confusione –
In questo esempio "importazioni" il nome della classe StringFormat senza il resto dei componenti del namespace System.Drawing. –