Avatar billede MadsHaupt Juniormester
08. oktober 2013 - 16:19 Der er 3 kommentarer og
1 løsning

Type.GetFields

Hvordan kan jeg få de private fields i en type?.
Avatar billede arne_v Ekspert
08. oktober 2013 - 16:27 #1
Hvis jeg husker rigtigt saa skal du kalde den GetFields som tager BinfingFlags som argument og angive BindingFlags.NonPublic (plus sikkert nogle flere).
Avatar billede arne_v Ekspert
09. oktober 2013 - 02:15 #2
Demo:


Imports System
Imports System.Reflection

Namespace E
    Public Class X
        Private v1 As Integer
        Protected v2 As Integer
        Friend v3 As Integer
        Public v4 As Integer
        Private Shared v5 As Integer
        Protected Shared v6 As Integer
        Friend Shared v7 As Integer
        Public Shared v8 As Integer
    End Class
    Public Class Program
        Public Shared Sub Dump(label As String, typ As Type)
            Console.WriteLine(label & ":")
            For Each fi As FieldInfo In typ.GetFields()
                Console.WriteLine("  " & fi.Name)
            Next
        End Sub
        Public Shared Sub Dump(label As String, typ As Type, flags As BindingFlags)
            Console.WriteLine(label & ":")
            For Each fi As FieldInfo In typ.GetFields(flags)
                Console.WriteLine("  " & fi.Name)
            Next
        End Sub
        Public Shared Sub Main(args As String())
            Dump("Default", GetType(X))
            Dump("Public instance", GetType(X), BindingFlags.Public Or BindingFlags.Instance)
            Dump("NonPublic instance", GetType(X), BindingFlags.NonPublic Or BindingFlags.Instance)
            Dump("Public static", GetType(X), BindingFlags.Public Or BindingFlags.Static)
            Dump("NonPublic static", GetType(X), BindingFlags.NonPublic Or BindingFlags.Static)
            Dump("Everything", GetType(X), BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance Or BindingFlags.Static)
            Console.ReadKey()
        End Sub
    End Class
End Namespace
Avatar billede MadsHaupt Juniormester
09. oktober 2013 - 10:02 #3
Jeg har fået det til at virke, arne_v skriv et svar så får du point.
Avatar billede arne_v Ekspert
09. oktober 2013 - 12:51 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester