use*_*102 2 c# reflection system.reflection
我想获得类的属性的属性.
我现在拥有的:
foreach (var v in test.GetType().GetProperties())
{
foreach (var p in v.GetType().GetProperties())
{
}
}
Run Code Online (Sandbox Code Playgroud)
第一个foreach循环工作正常,并获取类变量的属性test.然而,在第二循环中,我得到的输出,例如MemberType,ReflectedType,Module等不是实际属性.
我的目标是获取类属性的属性,然后编辑它们的值(使用另一个函数截断它们).
谢谢.
在第二个循环GetType()返回一个PropertyInfo对象.您必须获得v的propertyType v.PropertyType.GetProperties()以实现您想要的.
所以,代码应该是:
foreach (var v in test.GetType().GetProperties())
{
foreach (var p in v.PropertyType.GetProperties())
{
// Stuff
}
}
Run Code Online (Sandbox Code Playgroud)
返回的类型v.GetType()是PropertyInfo 的类型,因为v它是属性信息.您不需要PropertyInfo类型的属性,您需要类型本身的属性.
使用v.PropertyType,而不是v.GetType().
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |