0

我正在使用 C# 反射,但找不到解决此问题的方法。

我想加入一个 PropertyInfos 列表,其中列出的字段名称与 T 的任何元素的变量中的内容匹配。

解释起来有点复杂,但我希望你能理解。

例子:

var listProperties = objetoAtual.GetType().GetProperties().Join(listaRegistros, prop => prop.Name, reg => reg.A_Campo_Registro, ??????)

foreach (PropertyInfo property in listProperties)
{
  lb_propName = property.Name;
}

我试图在 TResult 参数处创建一个新的 PropertyInfo,但 PropertyInfo 是抽象的。我需要创建一个继承 PropertyInfo 并使用它的自定义类吗?

谢谢

4

1 回答 1

1

您可以投影到匿名类型(具有您感兴趣的属性)而不是 PropertyInfo:

var properties = objetoAtual.GetType().GetProperties().Join(listaRegistros, 
                              prop => prop.Name, 
                              reg => reg.A_Campo_Registro, 
                              (prop, reg) => new { Name = prop.Name });

foreach (var property in properties)
{
   lb_propName = property.Name;
}
于 2013-05-20T18:54:20.437 回答