private DynamicMetaObject GetForeignObject(DynamicMetaObject self) { return(new DynamicMetaObject( Expression.Dynamic( _context.CompatGetMember(Name, IsNoThrow), typeof(object), self.Expression ), self.Restrictions.Merge(BindingRestrictionsHelpers.GetRuntimeTypeRestriction(self.Expression, self.GetLimitType())) )); }