Method to take in any Enum
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Create Generic method constraining T to an Enum
是否可以创建接受任何枚举的泛型方法?然后,我将首先检查传入的类型,确保它是一个已传递的枚举(或者我可以通过方法定义自然地强制实现这一点吗?)第二,如果它是一个枚举,那么我将拥有一组case语句,它们根据传递的枚举类型来做一些事情。例如,我可以传递它companycolumns、paycolumns等,它们是枚举。我的方法需要能够接受这样的任何枚举,然后允许我在内部case语句中使用该枚举。
public static dbtype getcolumndatatype(我希望能够传入任何枚举对象)
1 2 3 4 5 6 |
试试这个:
1 | public static DbType GetColumnDataType(Enum en){...} |
这不是一般性的,但很有效。
如果需要通用,可以执行以下操作:
1 2 3 4 5 6 7 8 | public DbType GetColumnDataType<T>(T en) { Type t = n.getType(); if (!t.isEnum) { //through exception } } |