我喜欢做这样的事情:
public static List<string> ItemsOfEnum(T typeT)
{
List<string> items = new List<string>();
foreach (typeT tItem in Enum.GetValues(typeof(typeT)))
items.Add(tItem);
return items;
}
如何在不更改返回类型(List)的情况下获取参数列表中的“T”?
我喜欢做这样的事情:
public static List<string> ItemsOfEnum(T typeT)
{
List<string> items = new List<string>();
foreach (typeT tItem in Enum.GetValues(typeof(typeT)))
items.Add(tItem);
return items;
}
如何在不更改返回类型(List)的情况下获取参数列表中的“T”?
似乎很容易......但也许这就是你想要的?
public static List<string> ItemsOfEnum<typeT>()
where typeT: struct, IComparable, IFormattable, IConvertible {
List<string> items = new List<string>();
foreach (typeT tItem in Enum.GetValues(typeof(typeT)))
items.Add(tItem.ToString());
return items;
}
请注意,C# 不允许限制枚举,因此这些限制或多或少是您可以获得的关闭。
我认为您混淆了语法。我猜你想要这样的东西:
public static List<string> ItemsOfEnum<T>(T inputList) {...}
在您的每个语句中,您需要将 typeT 与 T 交换。也许对于您的内部列表,您需要调用 toString 函数来获取字符串。
public static List<string> itemsofenum<typet>()
{ ... }