mjr*_*odt 0 c# reflection entity-framework
我试图从实体框架对象中的多个属性获取值.共有11个属性,每个属性都分配了一个日期.我尝试过使用反射,但我一直收到错误"对象与目标类型不匹配"
public void CheckWeekStatus()
{
var currentFlexi = from c in FlexiContext.FlexPeriods where c.FlexiCurrentYear == true select c;
FlexPeriod s = new FlexPeriod();
PropertyInfo[] properties = s.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var info in properties)
{
var o = info.GetValue(currentFlexi,null);
}
}
Run Code Online (Sandbox Code Playgroud)
FlexPeriod是包含所有属性的类型.我可以遍历属性,但显然我正在尝试访问值的方式有问题.任何建议,将不胜感激.
首先,您可以在Type不实例化对象的情况下获取:
PropertyInfo[] properties = typeof( FlexPeriod ).GetProperties( ...
Run Code Online (Sandbox Code Playgroud)
GetValue失败的原因是对象currentFlexi的集合FlexPeriod(实际上是一个IEnumerable<FlexPeriod>),而不是单个实例FlexPeriod.