protected override ValueReference GetMember(EvaluationContext ctx, object t, object co, string name)
        {
            TypeMirror type = (TypeMirror)t;

            while (type != null)
            {
                FieldInfoMirror field = type.GetField(name);
                if (field != null)
                {
                    return(new FieldValueReference(ctx, field, co, type));
                }
                PropertyInfoMirror prop = type.GetProperty(name);
                if (prop != null)
                {
                    return(new PropertyValueReference(ctx, prop, co, type, null));
                }
                type = type.BaseType;
            }
            return(null);
        }