如何将枚举作为参数传递

本文关键字:参数传递 枚举 | 更新日期: 2023-09-27 18:05:26

在下面的代码中,我只是将字符串(例如"medium")转换为其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);
}