本文介绍对列表进行创建及赋值的反射操作
我们现在有TestA、TestB类,TestA中有TestB类型列表的属性List,如下:
下面通过反射,给TestA.List进行赋值,output的期望是 “1,2”
- 确定列表及泛型时,可以直接设置属性值
2.确定属性是列表,但不确定列表的泛型时,通过列表的Add方式进行设置值
List
如上,我们需要先创建一个空列表,对属性进行初始化。propertyInfo.PropertyType.GenericTypeArguments是列表的泛型类型
然后,获取列表的新增方法 newList.GetType().GetMethod(“Add”),将List
3.不确定属性是否列表,也不确定列表的泛型,可以如下处理:
如果AddValueToListProperty方法是设置属性值的通用方法,一般可以按上面的方式进行处理。
Original: https://www.cnblogs.com/kybs0/p/15112008.html
Author: 唐宋元明清2188
Title: C# 反射 操作列表类型属性
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543103/
转载文章受原作者版权保护。转载请注明原作者出处!