当前位置: 首页 > 编程语言 > C#

如何获取嵌套属性共享

时间:2023-04-10 20:57:15 C#

如何获取嵌套属性我想检索一个PropertyInfo,这里代码:stringpropertyName="Text";PropertyInfopi=control.GetType().GetProperty(propertyName);它工作正常,但如果我想检索嵌套属性,它返回null:stringpropertyName="DisplayLayout.Override.RowSelectors";PropertyInfopi=control.GetType().GetProperty(propertyName);有没有办法获取嵌套属性?最好的问候,Florian编辑:我现在有一个新问题,我想获得一个数组属性:stringpropertyName="DisplayLayout.Bands[0].Columns";PropertyInfopi=control.GetType().GetProperty(propertyName)感谢是:publicPropertyInfoGetProp(TypebaseType,stringpropertyName){string[]parts=propertyName.Split('.');返回(部分。长度>1)?GetProp(baseType.GetProperty(parts[0]).PropertyType,parts.Skip(1).Aggregate((a,i)=>a+"."+i)):baseType.GetProperty(propertyName);}所谓的:PropertyInfopi=GetProp(control.GetType(),"DisplayLayout.Override.RowSelectors");胜利的递归!只需对您刚刚获得的PropertyType执行相同的操作(并根据需要重复):PropertyInfoproperty=GetType().GetProperty(propertyName);PropertyInfo嵌套edProperty=property.PropertyType.GetProperty(nestedPropertyName)你可以做,但是你必须对每个级别都做“整件事”,这意味着:它对每个人都有用,需要进一步了解C#学习教程。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: