Для объяснения, скажем, у меня есть объект Company, у которого есть свойство Address типа Address. так что это будет что-то вроде:
public class Company
{
Address CompanyAddress;
}
public class Address
{
int Number;
string StreetName;
}
Теперь у меня есть метод, который работает с любым типом объекта, и я хочу получить определенное свойство из полученного объекта, поэтому я пытаюсь сделать следующее:
public string MyMethod(object myObject, string propertyName)
{
Type objectType = myObject.GetType();
object internalObject = objectType.GetProperty("Address");
Type internalType = internalObject.GetType();
PropertyInfo singleProperty = internalType.GetProperty("StreetName");
return singleProperty.GetValue(internalObject, null).ToString();
}
Проблема в том, что internalType никогда не является Address, а "System.Reflection.RuntimePropertyInfo", поэтому singleProperty всегда равен нулю;
Как мне это сделать?
Спасибо.