如何使用反射更新IList属性

时间:2016-07-13 00:29:01

标签: c# reflection

我有一个具有IList属性的模型。

public class SomeClass
{
 public IList<CustomClass> CustomProperty1
}

使用反射我需要将值添加到上面的属性。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你无法通过IEnuerable。它必须是IList或其他一些接口。

答案 1 :(得分:0)

您可以使用.Concat() linq方法来执行此操作。

SomeClass c = /* ... */
CustomClass[] extraItems = new CustomClass[] { /* ... */ };
c.CustomProperty1 = c.CustomProperty1.Concat(extraItems);

这不会向可枚举项添加更多项目,而是分配一个 new 枚举项,其中包含更多项目。

这不使用反射,但我假设你并没有 使用反射。