internal void RegisterOperator(FidelyOperator op)
        {
            FidelyOperator instance = op.Clone();
            instance.WarningNotifier = this;
            this.operators.Add(instance);
            Logger.Verbose("Registered an operator '{0}' (symbol = {1}, independency = {2}).", instance.GetType().FullName, instance.Symbol, instance.Independency);

            if (this.defaultComparativeOperator == null && instance is ComparativeOperator)
            {
                this.defaultComparativeOperator = (ComparativeOperator)instance;
                Logger.Verbose("Registered an operator '{0}' as the default comparative operator.", instance.Symbol);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the description from the specified operator.
        /// </summary>
        /// <param name="op">The operator.</param>
        /// <returns>The description of the specified operator.</returns>
        protected virtual string GetOperatorDescription(FidelyOperator op)
        {
            var describable = op as IDescribable;

            if (describable != null)
            {
                return(describable.Description);
            }

            var attribute = Attribute.GetCustomAttribute(op.GetType(), typeof(DescriptionAttribute)) as DescriptionAttribute;

            return((attribute != null) ? attribute.Description : "");
        }