Diskuze: C# vyhození výjimky
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Jestli to jsou statické data, tak si je ulož a pak je jen zvenčí používej.
Jestli to jsou dynamické data, tak asi nejlehčí způsob je projet to
reflexí a dotázat se na ně, ale to je takové řešení nakopačku
ted tam mas neco jako lazy loading bez cachovani. predel si to na eager loading s cachovanim, tj. udelej ve tride konstruktor, data z appconfigu vytahej v konstruktoru do privatnich promenych a ty zpristupni navenek pomoci get property.
diky za snahu, ale naprosto vam oboum rozumim neslo by to nejak... min
slozite, popripadne s odkazem na msdn?
public string ComPort { get { return System.Configuration.ConfigurationManager.AppSettings["comport"]; } }
=>
private string comPort;
public string ComPort { get { return comPort; } }
comPort = System.Configuration.ConfigurationManager.AppSettings["comport"];
Ale říkám, jestli se ty data nějakým způsobem dynamicky mění, tak to projdi reflexí (dynamicky se zkusíš zeptat na všechny vlastnosti a můžeš si to tak nechat).
nějak takto:
foreach (var property in this.GetType().GetProperties(System.Reflection.BindingFlags.GetField))
{
object a = property.GetValue(this);
}
asi sme si nerozuměli, já řešim to parsování na int, kde to nechce vyhodit vyjímku
Nebolo by lepšie používať naozajstné settings daného assembly, ako
<add key="" value=""> v configu? Tiež to budeš mať v configu + tam
budeš mať typ danej hodnoty (bool, int atď..), ak sa nemýlim.
Ak si dobre pamätám, môžeš tam mať default hodnotu, ale to sa dá
vyriešiť aj v tvojom riešení cez TryParse.
Zobrazeno 8 zpráv z 8.