gpt4 book ai didi

c# - 使用属性进行反射优化。

转载 作者:行者123 更新时间:2023-12-03 03:38:37 24 4
gpt4 key购买 nike

C# 有没有办法:

  1. 获取具有属性的类的所有属性(而不是必须循环遍历所有属性,然后检查属性是否存在。

  2. 如果我想要所有公共(public)、内部和 protected 属性,但不想要私有(private)属性,我找不到这样做的方法。我只能这样做:

    PropertyInfo[] props = type.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)

有没有办法避免获得私有(private)属性(property),但获得其他一切。

最佳答案

关于缓存:如果您通过TypeDescriptor.GetProperties访问属性,那么您可以免费获得缓存。 TypeDescriptor 类还有一些其他不错的实用方法,适用于此类反射情况。但它仅对 public 属性进行操作(没有 protectedinternal 成员,也没有字段)。

关于c# - 使用属性进行反射优化。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/253993/

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