我正在编写扩展以从获取描述和其他属性Enum。我看过使用的示例,FieldInfo而其他使用的示例MemberInfo。有人可以解释一下区别是什么,什么时候可以改变我应该使用的区别?
MemberInfo是抽象基类为两个FieldInfo和PropertyInfo。因此,当您要访问字段使用时FieldInfo,请使用属性PropertyInfo。
编辑:要获取在您的枚举值上设置的属性,您可以使用以下方法:
var attr = typeof(MyEnum).GetField(myEnumValue.ToString()).GetCustomAttributes(typeof(Description), false);
if (attr.Length > 0) return attr[0].Description;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,你也可以使用GetMember,而不是GetField作为GetCustomAttributes其上定义MemberInfo,并为此提供了两个FieldInfo和PropertyInfo。
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |