private void ShowTypes() { List <Type> types = new List <Type>(Registry.Optimizers); types.Sort(delegate(Type a, Type b) { return(OptimizerName(a).CompareTo(OptimizerName(b))); }); System.Console.WriteLine("\nAvailable optimizers:\n"); foreach (Type type in types) { string description = Optimizer.GetDescription(type); PrintColored(OptimizerName(type), !String.IsNullOrEmpty(description) ? description : "No description available"); } System.Console.WriteLine(); System.Console.WriteLine("\nAvailable extensions:\n"); types = new List <Type>(Extension.Extensions); types.Sort(delegate(Type a, Type b) { return(ExtensionName(a).CompareTo(ExtensionName(b))); }); foreach (Type type in Extension.Extensions) { string description = Extension.GetDescription(type); PrintColored(ExtensionName(type), !String.IsNullOrEmpty(description) ? description : "No description available"); } System.Console.WriteLine(); }