/// <summary> /// Creates a new formatter control /// </summary> public FormatterControl() { InitializeComponent(); //Load Formatters Type targetType = typeof(INodeFormatter); foreach (Type t in Assembly.GetAssembly(targetType).GetTypes()) { if (t.Namespace == null) { continue; } if (!t.Namespace.Equals("VDS.RDF.Writing.Formatting")) { continue; } if (!t.GetInterfaces().Contains(targetType)) { continue; } try { INodeFormatter formatter = (INodeFormatter)Activator.CreateInstance(t); this._formatters.Add(new Formatter(formatter.GetType(), formatter.ToString())); } catch { //Ignore this Formatter } } this._formatters.Sort(); this.cboFormat.DataSource = this._formatters; this.cboFormat.SelectedItem = this._defaultFormatter ?? this._formatters.First(); this.cboFormat.SelectedIndexChanged += cboFormat_SelectedIndexChanged; this.RaiseFormatterChanged(); }