NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
beats.omni
Člen
Avatar
beats.omni:7.4.2015 16:05

Ahoj, chci vytvořit Local nebo Domain uživatele. Proto používám třídu:

PrincipalContext context = new PrincipalContext(ContextType.Domain)

Parametr ContextType chci nastavit jako Machine (lokální uživatel) nebo Domain (doménový).

Můžu tento parametr uložit do proměnné, abych ho mohl posílat přímo do funkce, nebo musím použít if-else, např.:

string userType;

if(userType == "Machine")
**{
PrincipalContext context = new PrincipalContext(ContextType.Machine)
}**
else if (userType == "Domain")
**{
PrincipalContext context = new PrincipalContext(ContextType.Domain)
}**
else
   něco dalšího....
 
Odpovědět
7.4.2015 16:05
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na beats.omni
Petr Čech:7.4.2015 17:05

Nevím, jestli tě chápu správně. Jestli se ptáš, jestli se dá zavolat příkaz ze stringu, tak to nejde. Ale tak si udělej přetížení konstruktoru pro vstupní string a tohle dělej až v logice konstruktoru.

Editováno 7.4.2015 17:06
Nahoru Odpovědět
7.4.2015 17:05
the cake is a lie
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na beats.omni
Jan Vargovský:7.4.2015 17:11

Enum můžeš normálně uložit. Dokonce, jestli jsou ty názvy totožné, jen prostě je máš v enumu, aby se ti s tím pak dále lépe pracovalo, tak můžeš použít Enum.Parse metodu.

Takže ve výsledku bys tam měl

PrincipalContext context = new PrincipalContext((ContextType)Enum.Parse(typeof(ContextType), userType))

Případně, jestli nejsou totožne, tak bych takhle rozhodně nevětvil instancování, ale udělal na to metodu, která ti zparsuje string na tvůj enum (v případě, že by se lišili názvy) a pak vytvořil instanci.

Editováno 7.4.2015 17:13
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
7.4.2015 17:11
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 3 zpráv z 3.