Tag: changetype

Convert.ChangeType并转换为枚举?

我从数据库中获得了一个Int16值,并且需要将其转换为枚举types。 不幸的是,这个代码层完全不了解对象,只知道通过reflection可以收集的东西。 因此,它最终会调用Convert.ChangeType失败,并产生无效的转换exception。 我发现我认为是一个臭的解决方法,就像这样: String name = Enum.GetName(destinationType, value); Object enumValue = Enum.Parse(destinationType, name, false); 有没有更好的方法,以便我不必通过这个string操作? 这是一个简短但完整的程序,如果有人需要实验,可以使用这个程序: using System; public class MyClass { public enum DummyEnum { Value0, Value1 } public static void Main() { Int16 value = 1; Type destinationType = typeof(DummyEnum); String name = Enum.GetName(destinationType, value); Object enumValue = Enum.Parse(destinationType, name, false); Console.WriteLine("" […]