Utilisez le générique de type "Système".Les Collections.Génériques.Dictionnaire< TKey, TValue>' nécessite 2 arguments de type
Je reçois le message d'erreur en Utilisant le générique de type "Système".Les Collections.Génériques.Dictionnaire< TKey, TValue>' nécessite 2 arguments de type avec cette ligne de code:
this._logfileDict = new Dictionary();
Je suis juste essayer d'avoir une bonne _logfileDict sans entrées dans mon code, donc c'est pourquoi je suis attribution d'un nouveau Dictionnaire, qui sera vide, mais si quelqu'un sait peu de code que je pourrais utiliser à juste vide _logfileDict autrement. C'est juste un dictionnaire déclarée comme suit:
private Dictionary<string, LogFile> _logfileDict;
Toute aide est très appréciée!
IntelliSense devrait vous diriger dans la bonne direction une fois que vous tapez '= nouveau"...
La réponse est dans le message d'erreur.
La réponse est dans le message d'erreur.
OriginalL'auteur DukeOfMarmalade | 2011-11-16
Vous devez vous connecter pour publier un commentaire.
La raison pour laquelle vous obtenez cette erreur est parce que vous tentez d'utiliser le
Dictionnaire<TKey, TValue>
classe qui nécessite générique arguments de type et il n'y a pas deDictionary
classe qui ne nécessite pas de générique de type d'arguments.Lors de l'utilisation d'une classe qui utilise le type générique arguments vous êtes tenu de fournir le type que vous souhaitez utiliser à chaque fois que vous déclarez ou instancier une variable de traiter avec la classe.
Remplacer:
Avec:
C'est sûr qu'il est correct, merci pour ça!
D'accord, j'ai mis à jour la réponse pour plus d'informations et de références.
Oooh, sympa, c'est maintenant une vraie réponse 🙂
OriginalL'auteur Johannes Kommer
Il n'y a pas de type
Dictionary
sans paramètres génériques de l' .NET Framework. Vous devez indiquer explicitement les paramètres de type lors de l'instanciation et de l'instance deDictionary<TKey, TValue>
. Dans votre cas,_logfileDict
est déclarée commeDictionary<string, LogFile>
et, par conséquent, vous devez explicitement état de cette lorsque vous affectez une nouvelle instance. Par conséquent, vous devez attribuer à_logfileDict
une nouvelle instance ainsi:(À noter, cependant, il y a un
System.Collections.Hashtable
dans le .NET Framework si vous ne souhaitez pas spécifier le type de clés et de valeurs.)OriginalL'auteur jason
Vous devez spécifier deux types:
OriginalL'auteur SRKX
essayer ..
vaut le coup de les lire à propos des dictionnaires et comment initialiser, pls passez par ce lien pour plus d'informations sur dictionnaire...
OriginalL'auteur Enigma State
Bien comme vous le savez le constructeur de votre Dictionnaire nécessite le type de clé et le type de votre valeur, de sorte que c'est l'erreur que vous obtenez.
Et parce que votre journal d'dictionnaire def a le type de chaîne et le type de Journal que, sûrement, le constructeur est
C'est un vide (claire que vous avez défini) dicitonary mais elle a besoin de cette définition de la initalised de sorte que lorsque vous entrez des trucs à elle, il peut de vérification de type
Espère que cette aide
OriginalL'auteur user182630