Le membre non invocable ” ne peut pas être utilisé comme une méthode

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)) { /* ... */ }