Le non-générique de type "Système".Les Collections.IEnumerable' ne peut pas être utilisé avec des arguments de type
using System.Collections.Generic;
public sealed class LoLQueue<T> where T: class
{
private SingleLinkNode<T> mHe;
private SingleLinkNode<T> mTa;
public LoLQueue()
{
this.mHe = new SingleLinkNode<T>();
this.mTa = this.mHe;
}
}
Erreur:
The non-generic type 'LoLQueue<T>.SingleLinkNode' cannot be used with type arguments
Pourquoi dois-je l'obtenir?
- Quelle est votre définition de SingleLinkNode?
Vous devez vous connecter pour publier un commentaire.
Je suis sûr que vous n'avez pas défini votre
SingleLinkNode
classe comme ayant un paramètre de type générique. En tant que tel, une tentative de les déclarer avec un échec.Le message d'erreur suggère que
SingleLinkNode
est une classe imbriquée, je crois que ce qui peut se passer, c'est que vous devez déclarer les membres deSingleLinkNode
de typeT
, sans réellement en déclarantT
comme un paramètre générique pourSingleLinkNode
. Vous avez encore besoin de faire cela si vous voulezSingleLinkNode
pour être générique, mais si pas, alors vous pouvez simplement utiliser la classe commeSingleLinkNode
plutôt queSingleLinkNode<T>
.Exemple de ce que je veux dire:
Si vous ne voulez que votre classe imbriquée pour être générique, alors ce sera le travail:
Si vous souhaitez utiliser
IEnumerable<T>
, comme votre poste de titre l'indique, vous devez inclureusing System.Collections.Generic;
.Comme pour le SingleLinkNode classe, je ne sais pas où vous l'avez compris, ce n'est pas de la partie .NET framework que je peux voir. Je suppose qu'il n'est pas mis en œuvre à l'aide de médicaments génériques, et vous aurez besoin d'ajouter un tas de distributions d'
object
àT
partout.Cette compile pour moi:
Vous devrez poster votre SingleLinkNode classe pour plus de réponses...
Jean