Beispiel #1
0
        /// <summary>
        /// Adiciona a variável para a coleção.
        /// </summary>
        /// <param name="variavel">Instancia da variável que será adicionada.</param>
        public void Add(IVariavel variavel)
        {
            variavel.Require(nameof(variavel)).NotNull();

            if (Contains(variavel.Nome))
            {
                throw new InvalidOperationException($"Já existem um variável com o nome '{variavel.Nome}' na coleção.");
            }

            _variaveis.Add(variavel);
        }
Beispiel #2
0
        /// <summary>
        /// Remove a variável informada da coleção.
        /// </summary>
        /// <param name="variavel"></param>
        /// <returns></returns>
        public bool Remove(IVariavel variavel)
        {
            variavel.Require(nameof(variavel)).NotNull();

            foreach (var collection in _collections)
            {
                if (collection.Remove(variavel))
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #3
0
        /// <summary>
        /// Remove a variável da coleção.
        /// </summary>
        /// <param name="variavel">Instancia da variável que será removida.</param>
        /// <returns></returns>
        public bool Remove(IVariavel variavel)
        {
            variavel.Require(nameof(variavel)).NotNull();

            return(_variaveis.Remove(variavel));
        }
Beispiel #4
0
 /// <summary>
 /// Converte a variável para uma expressão.
 /// </summary>
 /// <param name="variavel"></param>
 /// <returns></returns>
 private static ParameterExpression Converter(IVariavel variavel)
 {
     return(ParameterExpression.Variable(typeof(double), variavel.Nome));
 }
Beispiel #5
0
 /// <summary>
 /// Adiciona uma variável para a formula.
 /// </summary>
 /// <param name="variavel"></param>
 public void AdicionarVariavel(IVariavel variavel)
 {
     variavel.Require(nameof(variavel)).NotNull();
     _agregadorVariaveis.Add(variavel);
 }