Ejemplo n.º 1
0
        /// <summary>
        /// Добавляем переменную
        /// </summary>
        /// <param name="name">Название переменной</param>
        /// <param name="owner">Название коллесции переменных</param>
        /// <param name="isEdit">Редактируемая переменная или нет</param>
        /// <param name="type">Тип переменной</param>
        /// <param name="expression">Строка выражения</param>
        /// <param name="value">Объект значения</param>
        /// <param name="min">Объект минимального  значения</param>
        /// <param name="max">Объект максимального значения</param>
        /// <param name="step">Объект значения шага</param>
        private void AddVariable(string name, string owner, bool isEdit, Type type, string expression, object value, object min = null, object max = null, object step = null)
        {
            Variable item = null;

            if (_variables.TryGetValue(name, out item) == false)
            {
                item = new SystemVariable(name, !isEdit, (Value)Activator.CreateInstance(type, new object[] { value, expression }));
                if (min != null)
                {
                    item.Min = (Value)Activator.CreateInstance(type, new object[] { min, null });
                }
                if (max != null)
                {
                    item.Max = (Value)Activator.CreateInstance(type, new object[] { max, null });
                }
                if (step != null)
                {
                    item.Step = (Value)Activator.CreateInstance(type, new object[] { step, null });
                }
                _variables.Add(item.Name, item);
                item.IsLookExpression = true;
            }
            if (owner != null)
            {
                MasterCollectionVariable.FindCollectionVariable(owner).Add(item);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Производит действия для создания объектов
 /// </summary>
 internal void Create( )
 {
     AddCollection("Global variables", MasterCollectionVariable, true);
     AddCollection("Local variables", MasterCollectionVariable, true);
     CurrentCollectionVariable = (CollectionVariable)MasterCollectionVariable.Clone( );
     Compile( );
 }