У меня есть класс (Descendant1), который наследуется от базового класса (BaseClass). Экземпляр класса-потомка передается в метод, который принимает BaseClass в качестве параметра. Затем с помощью отражения он вызывает свойство объекта.
public class BaseClass { }
public class Descendant1 : BaseClass
{
public string Test1 { get { return "test1"; } }
}
public class Processor
{
public string Process(BaseClass bc, string propertyName)
{
PropertyInfo property = typeof(BaseClass).GetProperty(propertyName);
return (string)property.GetValue(bc, null);
}
}
Мой вопрос такой. В методе Process можно выяснить, что на самом деле является объектом (Descendant1), затем объявить объект (возможно, с использованием Reflection) этого типа и привести к нему параметр BaseClass, а затем выполнить акробатику отражения на это?
Спасибо.