gpt4 book ai didi

C#:有没有办法对枚举进行分类?

转载 作者:可可西里 更新时间:2023-11-01 08:00:03 26 4
gpt4 key购买 nike

给定以下枚举:

    public enum Position
{
Quarterback,
Runningback,
DefensiveEnd,
Linebacker
};

是否可以对命名常量进行分类,以便我可以将“Quarterback”和“Runningback”标记为进攻位置,将“DefensiveEnd”和“Linebacker”标记为防守位置?

最佳答案

您可以使用属性:

public enum Position
{
[OffensivePosition]
Quarterback,
[OffensivePosition]
Runningback,
[DefensivePosition]
DefensiveEnd,
[DefensivePosition]
Linebacker
};

然后在适当的 FieldInfo 上检查 IsDefined。语法不是很漂亮,但是您可以添加一些扩展方法来使事情更易于管理:

public static bool IsOffensivePosition(PositionType pt)
{
return typeof(PositionType).GetField(Enum.GetName(typeof(PositionType), pt)).
IsDefined(typeof(OffensivePositionAttribute), false);
}

关于C#:有没有办法对枚举进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109969/

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