Как вернуть виртуальный атрибут PropertyInfo?

У меня возникают трудности с возвратом атрибутов виртуального значения в моей модели объекта. Кто-нибудь знает, как я могу вернуть PropertyInfo этого виртуального атрибута?

У меня есть следующие сущности:

Объекты

public class Company 
{
   public int Id { get; set; }
   public string Name { get; set; }
   public virtual Owner Owner { get; set; }
}

public class Owner
{
   public int Id { get; set; }
   public string Name { get; set; }
   public string Email { get; set; }
}

Однако я не могу получить доступ к атрибутам модели Owner при возврате Owner PropertyInfo в Model Company.

Базовый пример:

public PropertyInfo GetPropertyInfo()
{
   Type tType = typeof(Company);
   PropertyInfo prop = tType.GetProperty("Owner.Name");

   return prop;
}

Переменная prop возвращает null.

Я что-то забыл реализовать?


person Danilo Pádua    schedule 01.08.2018    source источник


Ответы (1)


Сначала вам нужно получить свойство Owner, а затем через него получить Name:

var owner = tType.GetProperty("Owner");

var name = owner.PropertyType.GetProperty("Name");

Или просто получите его напрямую, если у вас есть доступ к Owner:

var name = typeof(Owner).GetProperty("Name");
person Selman Genç    schedule 01.08.2018
comment
Работай нормально для меня! Спасибо. - person Danilo Pádua; 01.08.2018