Vra

Ek moet toegang sommige lede gemerk interne dat in 'n derde party vergadering verklaar word.

Ek wil graag 'n waarde terugkeer van 'n bepaalde interne eiendom in 'n klas. Dan wil ek graag 'n waarde haal uit 'n eiendom op wat teruggekeer waarde. Maar hierdie eienskappe terugkeer tipes wat ook interne en in hierdie derde party vergadering verklaar is.

Die voorbeelde van hierdie wat ek gesien het te doen is eenvoudig en net wys terugkeer int of Bool. Kan iemand asseblief vir 'n paar voorbeeld kode wat hierdie meer komplekse saak hanteer?

Was dit nuttig?

Oplossing

Jy hou net grawe op die teruggekeer waarde (of die PropertyType van die PropertyInfo):

u

sing System;
using System.Reflection;
public class Foo
{
    public Foo() {Bar = new Bar { Name = "abc"};}
    internal Bar Bar {get;set;}
}
public class Bar
{
    internal string Name {get;set;}
}
static class Program
{
    static void Main()
    {
        object foo = new Foo();
        PropertyInfo prop = foo.GetType().GetProperty(
            "Bar", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
        object bar = prop.GetValue(foo, null);
        prop = bar.GetType().GetProperty(
            "Name", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
        object name = prop.GetValue(bar, null);

        Console.WriteLine(name);
    }
}

Ander wenke

Jy kan altyd haal dit as 'n voorwerp en gebruik besinning oor die teruggekeer tipe om sy metodes te roep en toegang sy eienskappe.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top