Exemplo n.º 1
0
        public SecurityExpressionVisitor(QbservableServiceOptions serviceOptions)
        {
            this.options = serviceOptions.ExpressionOptions;
            this.context = serviceOptions.EvaluationContext;

            if (options.HasFlag(ExpressionOptions.AllowTypeTests) &&
                options.HasFlag(ExpressionOptions.AllowExplicitConversions))
            {
                context.EnsureHasKnownOperator("Cast");
                context.EnsureHasKnownOperator("OfType");
            }

            if (options.HasFlag(ExpressionOptions.AllowCatchBlocks))
            {
                context.EnsureHasKnownOperator("Catch");
                context.EnsureHasKnownOperator("OnErrorResumeNext");
                context.EnsureHasKnownOperator("Retry");
            }
        }
        public SecurityExpressionVisitor(QbservableServiceOptions serviceOptions)
        {
            Contract.Requires(serviceOptions != null);

            Options = serviceOptions.ExpressionOptions;
            Context = serviceOptions.EvaluationContext;

            if (Options.HasFlag(ExpressionOptions.AllowTypeTests) &&
                Options.HasFlag(ExpressionOptions.AllowExplicitConversions))
            {
                Context.EnsureHasKnownOperator("Cast");
                Context.EnsureHasKnownOperator("OfType");
            }

            if (Options.HasFlag(ExpressionOptions.AllowCatchBlocks))
            {
                Context.EnsureHasKnownOperator("Catch");
                Context.EnsureHasKnownOperator("OnErrorResumeNext");
                Context.EnsureHasKnownOperator("Retry");
            }
        }