utilisation de out pour un paramètre de méthode
Bonjour,
Je viens vers vous car je galère depuis un bout de temps sur un bout de code. En bref, je cherche à réaliser un prog qui pourrait permettre à un client de s'identifier avec un cardNumber puis de taper un secretCode et enfin de passer un virement avec un amount.
J'ai déjà codé plein de trucs. Pas mal pour moi! :mrgreen: mais ya des erreurs :lol:
Voici ma main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class MainGestion
{
static void Main(string[] args)
{
BankContext bankContext = BankFactory.createContext();
Console.WriteLine("Tapez votre numéro de carte :");
int cardNumberTyped = Carte(out cardNumberTyped);
Console.WriteLine("Tapez votre code secret :");
int secretCodeTyped = Code(out secretCodeTyped);
Console.WriteLine("Tapez le montant de l'opération");
int amountTyped = Transaction(out amountTyped);
int i = 0;
bool codeNonTrouve = true;
while (i<3 && codeNonTrouve)
{
try {
Connexion(bankContext);
//daily
if (ClientKnowsCode(cardNumberTyped,secretCodeTyped,bankContext) == true)
{
//CreditCard.daily.balance = ;
codeNonTrouve = false;
} |
Voila ici un exemple de ma méthode pour récupérer ce que l'utilisateur écrit au clavier pour s'identifier avec son num de carte et son code puis taper le montant du virement:
Code:
1 2 3 4 5 6
| static int Carte(out int cardNumberTyped)
{
Console.WriteLine("Tapez le numéro de la carte :");
cardNumberTyped = int.Parse(Console.ReadLine());
return cardNumberTyped;
} |
Enfin, mes 2 méthodes appelées dans la main qui travaille pour de bon:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| static void Connexion(BankContext bankContext)
{
if (ClientKnowsCode(cardNumberTyped, secretCodeTyped, bankContext))
Console.WriteLine("Connexion acceptée");
else
Console.WriteLine("Connexion refusée");
}
static bool ClientKnowsCode(int cardNumberTyped, int secretCodeTyped, BankContext bankContext)
{
if (CreditCardExist(cardNumberTyped, bankContext) && SecretCodeMatchCardNumber(cardNumberTyped, secretCodeTyped, bankContext))
return true;
else
return false;
} |
Mon gros souci, c'est que dans les paramètres de la méthode Connexion, l'ordi reconnait secretCodeTyped et bankContext (qui est la où je stocke mes listes de clients) mais pas cardNumberTyped ... Le fameux "does not exist in the current context"! :calim2:
Quelqu'un peut me filer un coup de main et m'expliquer? :D
Merci d'avance! :ccool: