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


C# IScriptContext.ResetControlFlags方法代码示例

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


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

示例1: Invoke

    public object Invoke(IScriptContext context, object[] args)
    {
      bool scopeOwner = false;
      
      if (args != null)
      {
        if (args.Length > 1) throw new ArgumentException("Number of arguments ");
        if (args.Length == 1)
        {
          var assigner = args[0] as ISupportAssign;
          if (assigner == null) throw new NotSupportedException("Given type of argument is not supported");
          assigner.AssignTo(context.CreateScope());
          scopeOwner = true;
        }
      }

      try
      {
        context.ResetControlFlags();

        _metaProg.Evaluate(context);
        
        return context.Result;
      }
      finally
      {
        if (scopeOwner)
          context.RemoveLocalScope();

        context.ResetControlFlags();
      }
    }
开发者ID:eightrivers,项目名称:SSharp,代码行数:32,代码来源:ScriptMetaExpr.cs

示例2: Evaluate

    public override void Evaluate(IScriptContext context)
    {
      context.SetItem("Context", context);
      context.SetItem("prog", this);
      //Reset flags in context
      context.ResetControlFlags();

      base.Evaluate(context);

      context.ResetControlFlags();
    }
开发者ID:eightrivers,项目名称:SSharp,代码行数:11,代码来源:ScriptProg.cs

示例3: Invoke

    public object Invoke(IScriptContext context, object[] args)
    {
        var functionScope = (INotifyingScope)RuntimeHost.ScopeFactory.Create(ScopeTypes.Function, context.Scope, context);
        context.CreateScope(functionScope);

        Expando values=args.FirstOrDefault() as Expando;
        if (values != null) {
            foreach (var field in values.Fields) {
                context.SetItem(field, values[field]);
            }
        } else {
            if (args.Length > 0)
                throw new ScriptExecutionException("Wrong type of arguments passed to Program Invokation");
        }

        try {
            Evaluate(context);
        }
        finally {
            context.RemoveLocalScope();
            context.ResetControlFlags();
        }

        return context.Result;
    }
开发者ID:eightrivers,项目名称:SSharp,代码行数:25,代码来源:ScriptProg.cs


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