HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Aktuális nyelvi beállítások paramétereinek lekérdezése


Példaprogram letöltése

6667 bájt

Ebben a cikkben az aktuális nyelvi beállítások paramétereit kérdezzük le. Így például megtudhatjuk, hogy mi az aktuálisan kiválasztott nyelv és mi az operációs rendszer nyelve. Hiszen lehet, hogy egy angol nyelvű Windows van telepítve, de azon a magyar beállítások az érvényesek.
A példában egy érdekes trükköt használunk fel arra, hogy egy osztály összes property-jének nevét és aktuális értékét megjelenítsük, mivel ezt oly módon tesszük, hogy nem is kell tudnunk, hogy hány property-je van az adott osztálynak és azoknak mi a nevük.

A nyelvi beállításokkal kapcsolatos információkat a CultureInfo osztály property-jeinek kiolvasásával határozhatjuk meg. Az aktuális beállításokhoz úgy juthatunk el, hogy a Thread osztály CurrentThread property-jét használjuk. Ezzel eljutottunk egy olyan objektumhoz, mely az aktuális programunk aktuális szálát tartalmazza. Ennek van egy CurrentCulture property-je, mely egy CultureInfo osztályt ad vissza.
Ahelyett, hogy most egyesével olvasnánk ki ennek property-jeit, inkább készítünk egy olyan ciklust, mely végigmegy CultureInfo osztály property-jein, mint egy tömbön és kiolvassa azok adatait.
Ehhez szükségünk lesz egy Type osztályra, melybe lekérjük a CultureInfo objektumunk típusazonosítóját a GetType függvénnyel.
    private void button1_Click(object sender, System.EventArgs e)
    {
      Type t = Thread.CurrentThread.CurrentCulture.GetType();
Ha ez adott, akkor könnyen szerezhetünk egy tömböt, melynek minden eleme egy PropertyInfo típusú osztály lesz és amely egy-egy property-t fog képviselni az adott objektumból. Ehhez az imént lekért típusból a GetProperties függvény hívásával juthatunk el.
      PropertyInfo[] p = t.GetProperties();
Most már csak az adatok megjelenítése marad, melyhez egy foreach ciklust készítünk, amely a PropertyInfo tömbön halad végig.
      foreach(PropertyInfo i in p)
      {   
A PropertyInfo osztály Name property-je adja a property nevét, valamint a GetValue függvénnyel lekérdezhetjük annak értékét is.
        listBox1.Items.Add(i.Name + ": " + i.GetValue(Thread.CurrentThread.CurrentCulture, null).ToString());          
      }    
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 214. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |