如何return虚拟属性PropertyInfo?
How to return Virtual Attribute PropertyInfo?
我很难 return 在我的实体模型中设置虚拟值的属性,有人知道我如何 return 这个虚拟属性的 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; }
}
但是,当return在模型公司中输入 Owner PropertyInfo 时,我无法访问 Owner 模型的属性。
基本示例:
public PropertyInfo GetPropertyInfo()
{
Type tType = typeof(Company);
PropertyInfo prop = tType.GetProperty("Owner.Name");
return prop;
}
The variable prop returns null
我是不是忘记实现了什么?
你需要先得到Owner
属性然后通过它得到Name
:
var owner = tType.GetProperty("Owner");
var name = owner.PropertyType.GetProperty("Name");
或者如果你有权限直接获取Owner
:
var name = typeof(Owner).GetProperty("Name");
我很难 return 在我的实体模型中设置虚拟值的属性,有人知道我如何 return 这个虚拟属性的 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; }
}
但是,当return在模型公司中输入 Owner PropertyInfo 时,我无法访问 Owner 模型的属性。
基本示例:
public PropertyInfo GetPropertyInfo()
{
Type tType = typeof(Company);
PropertyInfo prop = tType.GetProperty("Owner.Name");
return prop;
}
The variable prop returns null
我是不是忘记实现了什么?
你需要先得到Owner
属性然后通过它得到Name
:
var owner = tType.GetProperty("Owner");
var name = owner.PropertyType.GetProperty("Name");
或者如果你有权限直接获取Owner
:
var name = typeof(Owner).GetProperty("Name");