public EnumValue(Reflection.IEnum dt, string literalName, FileSourceInfo srcInfo) : base(srcInfo) { Enum = dt; _literalName = literalName; var v = Enum.Literals.FirstOrDefault(x => x.Name == _literalName); if (v == null) { throw new Exception("Invalid '" + dt.FullName + "' value: " + literalName); } LiteralIntValue = v.Value; }
static EnumValue ParseEnum(string s, Reflection.IEnum e, FileSourceInfo src) { // TODO: deal with magic encodings (bitflags etc) return(new EnumValue(e, s, src)); }