public static MetaObject ObjectToMetaObject(object argValue, Expression parameterExpression) { IDynamicObject ido = argValue as IDynamicObject; if (ido != null) { return(ido.GetMetaObject(parameterExpression)); } else { return(new MetaObject(parameterExpression, Restrictions.Empty, argValue)); } }