Je suis confronté à un problème droit naw. Donc, je vais mettre le code tout de suite;
public static List blockedOpcodes = new List(); public static bool isOpcodeAllowed(ushort opcode) { lock (locker) { if (blockedOpcodes.Contains(opcode)) { Log1.LogMsg("Oops! Someone sortinged to send a blocked packet: 0x{" + opcode + ":X}"); return false; } return true; } } public static void Load() { lock (locker) { StreamReader reader; using (reader = new StreamReader("filter.txt")) { ssortingng str = null; while ((str = reader.ReadLine()) != null) { blockedOpcodes.Add(Convert.ToUInt16(str)); } } Log1.LogMsg("Opcode filter loaded!"); using (reader = new StreamReader("specialip.txt")) { ssortingng item = null; while ((item = reader.ReadLine()) != null) { specialIPs.Add(item); } } } }
Donc, ceux-ci sont dans une classe appelée “Programme” Ce que j’essaie de faire est de collecter des “opcodes” de données à bloquer de “blocs bloqués”
if (Project_name.Program.blockedOpcodes(current.Opcode))
C’est là que l’erreur apparaît ..
Erreur:
Erreur 1 Les membres non invocables ‘Nom_projet.Programme.blockedOpcodes’ ne peuvent pas être utilisés comme une méthode. C: \ Users \ skipper \ Desktop \ nom_projet \ sans \ src2 – Copier \ nom_projet \ Clients.cs 584 63 nom_projet
Toute aide serait appréciée, merci! PS: Je suis un débutant en C # J’ai commencé comme il y a 7 jours ..
Évidemment vous avez besoin
if (Project_name.Program.blockedOpcodes[current.Opcode] != 0)
au lieu de cela:
if (Project_name.Program.blockedOpcodes(current.Opcode))
blockedOpcodes
étant une liste plutôt qu’une méthode.
EDIT: Vous devez comparer votre valeur de liste à 0
(ou à ce que vous considérez comme une valeur “non valide”) car vous stockez des valeurs int dans la liste.
EDIT: Pour vérifier si un OpCode donné est dans votre liste, appelez simplement ceci:
if (blockedOpcodes.Contains(current.Opcode)) { /* ... */ }