예제 #1
0
        public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes)
        {
            var restrictions = BindingRestrictions.GetTypeRestriction(Expression, Types.DynamicRow);
            var selfAsITestableDisposable = Expression.Convert(Expression, Types.ITestableDisposable);

            return(DynamicExpressionHelper.BindGetIndexFor(restrictions, Expression, selfAsITestableDisposable, binder, indexes, null, null));
        }
        public override DynamicMetaObject BindGetIndex(GetIndexBinder binder, DynamicMetaObject[] indexes)
        {
            var restrictions = BindingRestrictions.GetTypeRestriction(Expression, Types.DynamicRowRange);

            GetCommonExpressions(out var selfAsDynamicRowRange, out var offset, out var length, out var dynamicRow);

            var selfAsITestableDisposable = Expression.Convert(selfAsDynamicRowRange, Types.ITestableDisposable);

            return(DynamicExpressionHelper.BindGetIndexFor(restrictions, dynamicRow, selfAsITestableDisposable, binder, indexes, offset, length));
        }