gpt4 book ai didi

c# - Enum 的 Count 和 ToList 扩展方法?

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

是否可以为 Enum 实例取消创建 Count 和 ToList 扩展方法?我已经试过了,但不知道如何替换与枚举“e”的类型相关的“???”。

public static class EnumExtensions 
{
public static int Count(this Enum e)
{
return Enum.GetNames(typeof(???)).Length;
}

public static List<???> ToList(this Enum e)
{
return Enum.GetValues(typeof(???)).Cast<???>().ToList();
}
}

非常感谢!

最佳答案

为什么需要新的扩展方法?您可以使用可用的:

string[] dayNames = Enum.GetNames(typeof(DayOfWeek));
int count = dayNames.Count();
List<string> list = dayNames.ToList();

如果你想要枚举类型的列表:

List<DayOfWeek> list = Enum.GetValues(typeof(DayOfWeek)).Cast<DayOfWeek>().ToList();

扩展是没有意义的,因为只有当你有一个实例而不是一个类型时你才能扩展。但是你可以像这样使用工厂方法:https://stackoverflow.com/a/2422169/284240

关于c# - Enum 的 Count 和 ToList 扩展方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27918762/

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