【发布时间】:2011-12-24 02:56:57
【问题描述】:
我正在为 Json.NET 编写一个 JsonConverter,它应该允许我将任何枚举转换为由 [Description] 属性定义的字符串值。
例如:
public enum MyEnum {
[Description("Sunday")] Sunday,
[Description("Monday")] Monday,
[Description("Tuesday")] Tuesday,
[Description("Wednesday")] Wednesday,
[Description("Thursday")] Thursday,
[Description("Friday")] Friday,
[Description("Saturday")] Saturday
}
我已经有了支持myEnum.Description() 的代码,它显然会返回它的字符串描述。
在JsonConverter的实现中,有这个方法:
public override bool CanConvert(Type objectType)
{
}
我试图弄清楚如何确定 objectType 是否是 Enum 并返回 true 以便转换器知道它可以转换此对象。由于我有很多 Enum,因此我无法明确检查每一个,因此我希望有一种更通用的方法来完成此操作。
【问题讨论】:
-
当您说“确定 objectType 是否为枚举”时,您基本上是想检查 objectType 是否为“MyEnum”,而不是任何其他枚举。对吗?
-
不,我想检查它是否是任何枚举。 @minitech 的答案正是我想要的。