c# - 如何将枚举作为参数传递?

标签 c# enums

在下面的代码中,我只是将一个字符串(例如“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/

相关文章:

swift - 使用枚举键向 Swift 字典添加值

C# - 如何使用 SendKeys.Send 通过 SHIFT 键发送小写字母?

C# 获取线程类与主类通信

c# - 如何在 Kendo Grid MVC 中设置列​​宽以自动调整

php - 在 MYSQLi 中插入 'ENUM'

c++ - 如何在作用域枚举上重载 |= 运算符?

C# - 将枚举值列表转换为字符串列表

c# - 如何获得使用 TcpClient 进行连接的基本应用程序?

java - 用 Java 表示卡片的类?

c# - 值得将枚举转换为它的值的场景