如何判断对象是否为枚举?

时间:2013-08-20 20:17:16

标签: c# silverlight enums ivalueconverter

我不是C#向导,但必须有一个简单的解决方案。

IValueConverter我有一个DataTemplate。转换器将用于控件,其数据绑定到enum类型的对象:public enum ContentTypes。我想编写一个可以接受任何enum的通用转换器,然后对它做一些事情,但是当下面的转换器执行它时,对象参数的类型是ContentTypes而不是Enum Convert

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { Type valueType = value.GetType(); // <-- evaluates to `ContentTypes`. How can I just see if it's an enum, or Enum? if (value.GetType() == typeof(Enum)) { // Do something .... } return null; } 方法:

enum

那么,是否有可能采用未知类型的对象并确定它是否为{{1}}并将其转换为这样的枚举,一般来说?我错过了一些基本的东西。

1 个答案:

答案 0 :(得分:9)

您正在寻找Type.IsEnum属性,它正是这样做的。