コード例 #1
0
 protected void CacheVariables(IOperand oper)
 {
     if (oper is IVariableContainer)
     {
         UniqueVariables.AddRange(((IVariableContainer)oper).Variables);
     }
 }
コード例 #2
0
 protected void CacheVariables(IOperand oper)
 {
     if (oper is IVariableContainer)
     {
         foreach (var item in ((IVariableContainer)oper).Variables)
         {
             UniqueVariables.Add(item);
         }
     }
 }
コード例 #3
0
        protected IVariable GetVariable <T>(string name) where T : IConvertible
        {
            IVariable output;

            output = UniqueVariables.FirstOrDefault(item => item.Name == name);

            if (output == null)
            {
                var variable = IsTyped ? new Variable <T>(name) : new Variable(name);
                output = variable;
                CacheVariables(output);
            }

            return(output);
        }