HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Milyen névterek, osztályok, property-k, függvények találhatók a System névtéren belül?


Példaprogram letöltése

5890 bájt

E kérdésre keressük a választ a mellékelt példánkban, ahol is programból készítünk egy listát System névtérben található összes további névtérről, valamint az ezekben lévő osztályokról, azok tulajdonságairól, függvényeiről. A property-k esetében azok típusát is meghatározzuk, illetve a függvényeknél a paraméter-listájukat is megjelenítjük majd ebben a készítendő listában.

A megoldáshoz tudnunk kell azt, hogy a System névtér minden egyéb objektumával együtt az Mscorlib.dll-ben található. Így a szükséges információ megszerzéséhez először is ezt kell betöltenünk egy Assembly osztályba.
  Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    Dim ass As System.Reflection.Assembly = System.Reflection.Assembly.Load("Mscorlib.dll")
    Cursor = Cursors.WaitCursor
    listBox1.BeginUpdate()
Az ebben található típusokat az Assembly osztály GetTypes függvényével kérdezhetjük le. Itt eredményképpen kapunk egy olyan tömböt, melynek minden eleme egy-egy Type osztály lesz, ami az adott elem típusát írja le.
Ezt követően nincs más dolgunk, mint egy foreach ciklussal végigmenni a már adott tömbön.
    Dim type As Type
    For Each type In ass.GetTypes()
      listBox1.Items.Add(("Type: " + type.ToString))
Mivel minden megtalált osztály rendelkezik property-kkel, függvényekkel, stb., így ezek lekérdezésére is sor kerül az adott típus GetMembers függvénye segítségével. Ez a függvény egy újabb tömböt ad vissza, mely most MemberInfo típusú elemeket tárol. Ezen a tömbön szintén egy foreach ciklussal megyünk végig, hogy megjeleníthessünk minden egyes elemet az adott osztályon belül.
      Dim bf As BindingFlags = BindingFlags.DeclaredOnly Or BindingFlags.NonPublic Or BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.Static
      Dim member As MemberInfo
      For Each member In type.GetMembers(bf)
        listBox1.Items.Add((ControlChars.Tab + "Member: " + member.Name.ToString))
      Next member
    Next type
    listBox1.EndUpdate()
    Cursor = Cursors.Default
  End Sub 'button1_Click

Cikksorozat

#IDKategóriaCikk címeSorozat
4397Windows.NET Framework konfigurálása az operációs rendszerben1. rész
4446Windows.NET Framework konfigurációs snap-in2. rész


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 |