Comment passez-vous un type d'alias défini par using
à la classe générique?Comment utiliser un type d'alias en tant que paramètre de type générique dans C#
J'ai essayé le code suivant:
using ID = Int32; // it might be replaced with `String`.
using CC = C<ID>;
public class C<T> {
T id;
}
et il y aura une erreur:
Error CS0246 The type or namespace name 'ID' could not be found (are you missing a using directive or an assembly reference?)
Mais la directive en utilisant est juste au-dessus de la ligne où l'erreur se produit. Ai-je raté quelque chose?
Qu'est-ce que vous essayez d'atteindre? – mayu
Cela ne semble pas possible pour le moment, plase voir le premier commentaire [ici] (http://stackoverflow.com/q/3720222/303290) –
Alors que le doublon lié cite la spécification, il y a un moyen de contourner , déclare 'ID' dans l'espace de nom externe et' CC' dans un espace de noms interne. Le fait qu'ils soient dans le même espace de noms est le problème ici. –