استرجاع القيم في أنواع المنعكس من خصائص تنعكس
-
03-07-2019 - |
سؤال
ولست بحاجة للوصول إلى بعض أعضاء علامة الداخلي التي تم تعريفها في التجمع طرف ثالث.
وأود أن إرجاع قيمة من خاصية الداخلية خاصة في فئة. ثم أود أن استرداد قيمة من خاصية على أن القيمة التي تم إرجاعها. ومع ذلك، هذه الخصائص تعود الأنواع التي هي أيضا داخلية وأعلن في هذا التجمع طرف ثالث.
وأمثلة للقيام بذلك رأيت بسيطة وتظهر فقط صحيح أو منطقي العودة. يمكن للشخص يرجى إعطاء بعض رمز المثال الذي يعالج هذه الحالة أكثر تعقيدا؟
المحلول
وعليك أن تبقي فقط حفر على القيمة التي تم إرجاعها (أو 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);
}
}
نصائح أخرى
ويمكنك استرداد دائما ككائن واستخدام التفكير في نوع عاد إلى استدعاء أساليب ووصول خصائصه.
لا تنتمي إلى StackOverflow