public object GetValue(object instance, ClassMember member) { if (instance is ASObject) { ASObject aso = instance as ASObject; if (aso.ContainsKey(member.Name)) { return(aso[member.Name]); } string msg = string.Format("ASObject[{0}]", member.Name); throw new MissingMemberException(msg); } throw new ArgumentException(); }