protected virtual void FillTypesFromAssembly(ListTypeEditor.EditorListBox list, Assembly assembly) { if (assembly == null) return; if (this.assemblies.Contains(assembly)) return; this.assemblies.Add(assembly, null); foreach (Type t in assembly.GetExportedTypes()) { if (!typeof(Exception).IsAssignableFrom(t)) continue; list.Items.Add(t); } }
protected override void FillList( ListTypeEditor.EditorListBox list, ITypeDescriptorContext context, IServiceProvider provider, object value) { list.Items.Clear(); this.assemblies.Clear(); list.BeginUpdate(); list.Items.Add(typeof(void)); this.FillTypesFromAssembly(list, typeof(Exception).Assembly); list.EndUpdate(); }