Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Patrik Bak
Člen
Avatar
Patrik Bak:13.8.2015 4:28

Ahojte. Uvážme kód

class Program
    {
        static string name = "idk";
        static string password = "pass";

        static void Main(string[] args)
        {
            bool t1 = LogIn("idm", "pass");
            bool t2 = LogIn("idk", "pas");
            bool t3 = LogIn("idk", "pass");
        }

        static bool LogIn(string name, string password)
        {
            if (name == Program.name && password == Program.password)
                return true;
            else
                return false;
        }
    }

Je zrejmé, že v premenných t1,t2,t3 bude postupne false,false,true, pričom v premennej t1 bude false kvôli zlému menu a v premennej t2 kvôli zlému heslu. Ja by som chcel v jednotlivých týchto prípadoch vykonávať nejakú akciu, takže ich nejako rozlíšiť. Meniť dátový typ sa mi neoplatí a chcel by som, aby vykonavána akcia bola čo najvšeobecnejšia (aby som ju mohol definovať v inej triede a dostať jednoducho sem...). Napadlo mi, že by to šlo spraviť cez exceptions. Ako by to šlo ? Prípadne, ako niečo také spraviť elegantne ?

 
Odpovědět
13.8.2015 4:28
Avatar
Odpovídá na Patrik Bak
sadlomaslox25:13.8.2015 11:06

ja osobne bych to delal pres enum nez pres exceptiony. napr. enum LoginResult { Success, InvalidPasswor­d,InvalidUser­name}

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
13.8.2015 11:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.