gpt4 book ai didi

c# - 根据声明的类筛选由 TypeDescriptor.GetProperties() 返回的属性

转载 作者:太空宇宙 更新时间:2023-11-03 18:19:17 29 4
gpt4 key购买 nike

大家好。我有以下情况。

我想使用 TypeDescriptor 来获取特定类型的属性。类型在继承层次结构中的深度可能会有所不同。我只想获取在类型本身而不是其父类(基类)中声明的属性。问题是,当我调用 TypeDescriptor.GetProperties() 时,它会返回在继承层次结构中向上声明到 Object 的所有内容。

我只看到我可以按属性过滤输出,但我不想为此向我的类型中的属性添加另一个属性。通过反射获取它们而不使用 TypeDescriptor 可以满足我的要求,但这不是我的选择,因为某些属性会在某个时候动态添加到类型中。

有什么想法吗?如果问题不清楚,我可以举个例子。

最佳答案

您可以使用 ComponentType 属性过滤属性:

var properties = from p in TypeDescriptor.GetProperties(x).Cast<PropertyDescriptor>()
where p.ComponentType == x.GetType()
select p;

关于c# - 根据声明的类筛选由 TypeDescriptor.GetProperties() 返回的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443314/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com