在下面的代码中,我只是将一个字符串(例如“medium”)转换为其枚举值。我需要做的不是将 Opacity 作为固定的 Enum 类型,而是将其作为参数传入,以便该函数可以对任何 Enum 进行操作。这似乎比我预期的要困难得多,即“Enum MyEnum”不起作用。有人解决吗?
public enum Opacity
{
Low,
Medium,
High
}
public static Enum StringToEnum(String str)
{
return (Opacity)Enum.Parse(typeof(Opacity), str, true); // Case insensitive
}
最佳答案
public static T StringToEnum<T>(String str) where T : struct
{
return (T)Enum.Parse(typeof(T), str, true);
}
关于c# - 如何将枚举作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056790/