private void LoadAvailableWidget() { var availableTypes = ReflectionHelper.Instance.GatherTypeChildrenTypesFromAssemblies(typeof(IDashboardWidget)); foreach (var t in availableTypes.Where(it => it.IsAbstract == false)) { var widget = Activator.CreateInstance(t); AvailableWidgets.Add(t); } }
public void RegisterAvailableWidgets() { var types = Assembly.GetCallingAssembly().GetTypes(); var widgetsAsType = from type in types where typeof(IWidget).IsAssignableFrom(type) && !type.IsInterface select type; foreach (var widgetAsType in widgetsAsType) { if (WidgetTypeIsAlreadyRegistered(widgetAsType)) { continue; } AvailableWidgets.Add(GetModelFromType(widgetAsType)); } }