protected BaseToolWindow(IMessagePropagator messagePropagator) { _messagePropagator = messagePropagator; ToolWindowAttribute toolWindowAttribute = this.GetType().GetCustomAttribute <ToolWindowAttribute>(); Id = toolWindowAttribute.DisplayName; Title = toolWindowAttribute.DisplayName; }
public static List <Type> GetAllToolWindows(AppDomain domain) { List <Type> list = new List <Type>(); foreach (Assembly assembly in domain.GetAssemblies()) { foreach (Type type in assembly.GetTypes()) { ToolWindowAttribute toolWindowAttribute = type.GetCustomAttribute <ToolWindowAttribute>(); if (toolWindowAttribute != null && type.IsSubclassOf(typeof(BaseToolWindow))) { list.Add(type); } } } return(list); }