gpt4 book ai didi

c# - MemberInfo 和 FieldInfo 有什么区别

转载 作者:太空狗 更新时间:2023-10-29 22:30:20 28 4
gpt4 key购买 nike

我正在编写一个扩展以从 Enum 中获取描述和其他属性。我见过使用 FieldInfo 的示例和其他使用 MemberInfo 的示例。谁能解释一下有什么区别,什么时候我应该使用哪一个会有所不同?

最佳答案

MemberInfoFieldInfoPropertyInfo 的抽象基类。因此,当您想要访问字段时,请使用 FieldInfo,对于属性,请使用 PropertyInfo

编辑:要在您的枚举值上设置属性,您可以使用:

var attr = typeof(MyEnum).GetField(myEnumValue.ToString()).GetCustomAttributes(typeof(Description), false);

if (attr.Length > 0) return attr[0].Description;

在这种情况下,您还可以使用 GetMember 而不是 GetField,因为 GetCustomAttributes 是在 MemberInfo 上定义的,因此在 FieldInfoPropertyInfo 上提供。

关于c# - MemberInfo 和 FieldInfo 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35912259/

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