Sin dalle prime versioni di C#, abbiamo sempre avuto la possibilità di dare un alias ai namespace e alle classi. Questa funzionalità torna comoda quando abbiamo tipi o namespace con diversi nomi in librerie diverse e dobbiamo utiizzarli nella stessa classe. Per fare un esempio, quardiamo il prossimo snippet.
// Namespace alias
using MW = MyLibrary.Web;
using SW = SomeLibrary.Web;
var serialized1 = MW.Serializer.Serialize("{}");
var serialized2 = SW.Serializer.Serialize("{}");
// Type alias
using Serializer = MyLibrary.Serializer;
var serialized = Serializer.Serialize("{}");Nel primo esempio abbiamo una classe Serializer presente sia in MyLibrary.Web che in SomeLibrary.Web. Invece di usare il nome completo del namespace prima di usare le classi, usiamo un alias. Nel secondo esempio, invece di dare un alias al namespace, diamo un alias direttamente alla classe.
Con C# 12, la capacità di dare un alias è stata ulteriormente espansa ai tipi generici e alle tuple. Vediamo un esempio.
using People = System.Collections.Generic.List<Person>;
People GetPeople()
{
return [
new Person() { Id = 1, Name = "Stefano Mostarda"}
];
}
class Person
{
public int Id {get; set;}
public string Name {get; set;}
}In questo codice, abbiamo creato l'alias People per il tipo List
Lo stesso discorso è valido anche per le tuple.
using Person = (int Id, string Name);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Abilitare .NET 10 su Azure App Service e Azure Functions
Utilizzare WebJobs su Linux con Azure App Service
Creare una libreria CSS universale - Rotazione degli elementi
Configurare OpenAI in .NET Aspire
Loggare le query più lente con Entity Framework
La gestione della riconnessione al server di Blazor in .NET 9
.NET Aspire per applicazioni distribuite
Integrare un servizio esterno con .NET Aspire
Gestione degli eventi nei Web component HTML
Collegare applicazioni server e client con .NET Aspire
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Sfruttare una CDN con i bundle di ASP.NET
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Utilizzare dati in formato XML in XAML


