gpt4 book ai didi

c# - GetCustomAttribute 返回 null

转载 作者:行者123 更新时间:2023-11-30 13:17:11 25 4
gpt4 key购买 nike

有人可以向我解释为什么 Value.GetType().GetCustomAttribute 返回 null 吗?我已经查看了十个不同的教程,了解如何获取枚举类型成员的属性。无论我使用哪种 GetCustomAttribute* 方法,我都没有返回自定义属性。

using System;
using System.ComponentModel;
using System.Reflection;

public enum Foo
{
[Bar(Name = "Bar")]
Baz,
}

[AttributeUsage(AttributeTargets.Field)]
public class BarAttribute : Attribute
{
public string Name;
}

public static class FooExtensions
{
public static string Name(this Foo Value)
{
return Value.GetType().GetCustomAttribute<BarAttribute>(true).Name;
}
}

最佳答案

因为您尝试检索的属性尚未应用于该类型;已应用到现场。

因此,您需要在 FieldInfo 对象上调用它,而不是在类型对象上调用 GetCustomAttributes。换句话说,您需要做更多像这样的事情:

typeof(Foo).GetField(value.ToString()).GetCustomAttributes...

关于c# - GetCustomAttribute 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14285498/

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