当前位置: 首页>>代码示例>>C#>>正文


C# Context.SetValue方法代码示例

本文整理汇总了C#中Context.SetValue方法的典型用法代码示例。如果您正苦于以下问题:C# Context.SetValue方法的具体用法?C# Context.SetValue怎么用?C# Context.SetValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Context的用法示例。


在下文中一共展示了Context.SetValue方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Invoke

        public object Invoke(IContext context, object @this, object[] arguments)
        {
            // TODO review: any case for use context parameter?
            IContext newctx = new Context(this.context);

            // Set this and arguments
            newctx.DefineVariable("this");
            newctx.SetValue("this", @this);
            newctx.DefineVariable("arguments");
            newctx.SetValue("arguments", arguments);

            for (int k = 0; arguments != null && k < arguments.Length && k < this.Arity; k++)
            {
                newctx.DefineVariable(parameterNames[k]);
                newctx.SetValue(parameterNames[k], arguments[k]);
            }

            // TODO Review: it should be null?
            if (this.Body != null)
                this.Body.Execute(newctx);

            // TODO Review: return undefined it not this?
            if (newctx.ReturnValue == null)
                if (@this != null)
                    return @this;
                else
                    return Undefined.Instance;

            return newctx.ReturnValue.Value;
        }
开发者ID:tario,项目名称:AjScript-migrated,代码行数:30,代码来源:Function.cs

示例2: EvaluateExpressionBody

        public void EvaluateExpressionBody()
        {
            Function function = new Function(null, new object[] { }, new AddExpression(new VariableExpression(new Variable("X")), new VariableExpression(new Variable("Y"))));
            Context context = new Context();
            context.SetValue("X", 1);
            context.SetValue("Y", 2);

            Assert.AreEqual(3, function.Evaluate(context));
        }
开发者ID:ajlopez,项目名称:AjErl,代码行数:9,代码来源:FunctionTests.cs

示例3: GetNamesWhenTwoValuesAreDefined

        public void GetNamesWhenTwoValuesAreDefined()
        {
            Context context = new Context();
            context.SetValue("One", 1);
            context.SetValue("Two", 2);

            var result = context.GetNames();

            Assert.IsNotNull(result);
            Assert.AreEqual(2, result.Count);
            Assert.IsTrue(result.Contains("One"));
            Assert.IsTrue(result.Contains("Two"));
        }
开发者ID:ajlopez,项目名称:AjTalk,代码行数:13,代码来源:ContextTests.cs

示例4: EvaluateEmptyArray

        public void EvaluateEmptyArray()
        {
            Context context = new Context();
            var objfn = new ObjectFunction(context);
            var arrfn = new ArrayFunction(context);
            context.SetValue("Object", objfn);
            context.SetValue("Array", arrfn);

            InstanceOfExpression expr = new InstanceOfExpression(new ConstantExpression(objfn.NewInstance(null)), new VariableExpression("Object"));
            var result = expr.Evaluate(context);

            Assert.IsNotNull(result);
            Assert.AreEqual(true, result);
        }
开发者ID:ajlopez,项目名称:AjScript,代码行数:14,代码来源:InstanceOfExpressionTests.cs

示例5: HasValue

 public void HasValue()
 {
     Context context = new Context();
     context.SetValue("One", 1);
     Assert.IsTrue(context.HasValue("One"));
     Assert.IsFalse(context.HasValue("Foo"));
 }
开发者ID:ajlopez,项目名称:AjTalk,代码行数:7,代码来源:ContextTests.cs

示例6: SetAndGetValue

        public void SetAndGetValue()
        {
            Context context = new Context();
            context.SetValue("a", "One");

            Assert.AreEqual("One", context.GetValue("a"));
        }
开发者ID:tario,项目名称:AjScript-migrated,代码行数:7,代码来源:ContextTests.cs

示例7: GetValueFromParent

 public void GetValueFromParent()
 {
     Context parent = new Context();
     Context context = new Context(parent);
     parent.SetValue("One", 1);
     Assert.AreEqual(1, context.GetValue("One"));
 }
开发者ID:ajlopez,项目名称:DartSharp,代码行数:7,代码来源:ContextTests.cs

示例8: EvaluateCallExpressionWithVariableInName

        public void EvaluateCallExpressionWithVariableInName()
        {
            Context context = new Context();
            Function function = new Function(context, new object[] { new Variable("X"), new Variable("Y") }, new AddExpression(new VariableExpression(new Variable("X")), new VariableExpression(new Variable("Y"))));
            context.SetValue("add/2", function);
            context.SetValue("A", new Atom("add"));
            CallExpression expr = new CallExpression(new VariableExpression(new Variable("A")), new IExpression[] { new ConstantExpression(1), new ConstantExpression(2) });

            Assert.IsTrue(expr.HasVariable());
            Assert.IsNotNull(expr.NameExpression);
            Assert.IsInstanceOfType(expr.NameExpression, typeof(VariableExpression));
            Assert.IsNotNull(expr.ArgumentExpressions);
            Assert.AreEqual(2, expr.ArgumentExpressions.Count);

            Assert.AreEqual(3, expr.Evaluate(context));
        }
开发者ID:ajlopez,项目名称:ErlSharp,代码行数:16,代码来源:CallExpressionTests.cs

示例9: Main

        static void Main(string[] args)
        {
            IContext context = new Context();
            Parser parser = new Parser(System.Console.In);
            context.DefineVariable("write");
            context.SetValue("write", new WriteFunction());
            context.DefineVariable("writeln");
            context.SetValue("writeln", new WriteLineFunction());
            context.DefineVariable("Object");
            context.SetValue("Object", new ObjectFunction(context));

            Console.WriteLine("AjScript 0.1 (JavaScript-like Interpreter in C#)");

            for (ICommand cmd = parser.ParseCommand(); cmd != null; cmd = parser.ParseCommand())
                cmd.Execute(context);
        }
开发者ID:tario,项目名称:AjScript-migrated,代码行数:16,代码来源:Program.cs

示例10: IsSatisfiedByStringInContext

 public void IsSatisfiedByStringInContext()
 {
     Context context = new Context();
     context.SetValue("p", "123");
     PropertyIsFact fact = new PropertyIsFact("p", "Length", 3);
     fact.IsSatisfiedByContext(context);
 }
开发者ID:ajlopez,项目名称:AjRools,代码行数:7,代码来源:PropertyIsFactTests.cs

示例11: SetAndGetValue

        public void SetAndGetValue()
        {
            Context context = new Context();

            context.SetValue("one", 1);

            Assert.AreEqual(1, context.GetValue("one"));
        }
开发者ID:ajlopez,项目名称:AjErl,代码行数:8,代码来源:ContextTests.cs

示例12: EvaluateDefinedVariable

        public void EvaluateDefinedVariable()
        {
            Context context = new Context();
            context.SetValue("One", 1);
            NameExpression expr = new NameExpression("One");

            Assert.AreEqual(1, expr.Evaluate(context));
        }
开发者ID:ajlopez,项目名称:AjLang,代码行数:8,代码来源:NameExpressionTests.cs

示例13: Apply

 public object Apply(Context context, IList<object> arguments)
 {
     Atom atom = (Atom)arguments[0];
     Module module = this.machine.LoadModule(atom.Name);
     context.SetValue(module.Name, module);
     Tuple tuple = new Tuple(new object[] { new Atom("ok"), new Atom(module.Name) });
     return tuple;
 }
开发者ID:ajlopez,项目名称:ErlSharp,代码行数:8,代码来源:CompileModuleFunction.cs

示例14: SetAndGetValue

        public void SetAndGetValue()
        {
            var ctx = new Context<object>();

            ctx.SetValue("foo", 42);

            Assert.AreEqual(42, ctx.GetValue("foo"));
        }
开发者ID:ajlopez,项目名称:Husky,代码行数:8,代码来源:ContextTests.cs

示例15: SetAndGetValueWithParent

 public void SetAndGetValueWithParent()
 {
     Context parent = new Context();
     Context context = new Context(parent);
     context.SetValue("One", 1);
     Assert.AreEqual(1, context.GetValue("One"));
     Assert.IsNull(parent.GetValue("One"));
 }
开发者ID:ajlopez,项目名称:DartSharp,代码行数:8,代码来源:ContextTests.cs


注:本文中的Context.SetValue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。