using System.Collections.Generic;
namespace Developpez.Dotnet.Collections
{
///
/// Fournit des méthodes pour faciliter la création de collections génériques avec des types anonymes,
/// grâce à l'inférence de type générique.
///
public static class CollectionFactory
{
///
/// Crée une pile () en utilisant le paramètre pour déterminer le type des éléments
///
/// Type des éléments (déterminé implicitement par inférence)
/// Objet modèle pour déterminer le type des éléments
/// Une pile () vide
public static Stack Stack(T dummy)
{
return new Stack();
}
///
/// Crée une file () en utilisant le paramètre pour déterminer le type des éléments
///
/// Type des éléments (déterminé implicitement par inférence)
/// Objet modèle pour déterminer le type des éléments
/// Une file () vide
public static Queue Queue(T dummy)
{
return new Queue();
}
///
/// Crée une liste () en utilisant le paramètre pour déterminer le type des éléments
///
/// Type des éléments (déterminé implicitement par inférence)
/// Objet modèle pour déterminer le type des éléments
/// Une liste () vide
public static List List(T dummy)
{
return new List();
}
///
/// Crée un ensemble () en utilisant le paramètre pour déterminer le type des éléments
///
/// Type des éléments (déterminé implicitement par inférence)
/// Objet modèle pour déterminer le type des éléments
/// Un ensemble () vide
public static HashSet HashSet(T dummy)
{
return new HashSet();
}
///
/// Crée un dictionnaire () en utilisant les paramètres pour déterminer le type de clé et le type de valeur
///
/// Type de clé (déterminé implicitement par inférence)
/// Type de valeur (déterminé implicitement par inférence)
/// Objet modèle pour déterminer le type de clé
/// Objet modèle pour déterminer le type de valeur
/// Un dictionnaire () vide
public static Dictionary Dictionary(TKey dummyKey, TValue dummyValue)
{
return new Dictionary();
}
}
}