/// <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 : ""); }
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); } }