استرجاع القيم في أنواع المنعكس من خصائص تنعكس

StackOverflow https://stackoverflow.com/questions/200900

سؤال

ولست بحاجة للوصول إلى بعض أعضاء علامة الداخلي التي تم تعريفها في التجمع طرف ثالث.

وأود أن إرجاع قيمة من خاصية الداخلية خاصة في فئة. ثم أود أن استرداد قيمة من خاصية على أن القيمة التي تم إرجاعها. ومع ذلك، هذه الخصائص تعود الأنواع التي هي أيضا داخلية وأعلن في هذا التجمع طرف ثالث.

وأمثلة للقيام بذلك رأيت بسيطة وتظهر فقط صحيح أو منطقي العودة. يمكن للشخص يرجى إعطاء بعض رمز المثال الذي يعالج هذه الحالة أكثر تعقيدا؟

هل كانت مفيدة؟

المحلول

وعليك أن تبقي فقط حفر على القيمة التي تم إرجاعها (أو PropertyType من PropertyInfo):

ش

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);
    }
}

نصائح أخرى

ويمكنك استرداد دائما ككائن واستخدام التفكير في نوع عاد إلى استدعاء أساليب ووصول خصائصه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top