using System; using System.Xml.Serialization; namespace ProcessInfo { public class Site { private String name; private String urlTemplate; private bool selected; public Site() {} public String GetUrl( Process process ) { return String.Format( UrlTemplate, process.Name, process.NameWithoutExtension ); } public override String ToString() { return name; } [ XmlElement( "name" ) ] public String Name { get { return name; } set { if ( value == null ) { throw new ArgumentNullException( "name", "Site must have a name" ); } name = value; } } [ XmlElement( "urlTemplate" ) ] public String UrlTemplate { get { return urlTemplate; } set { if ( value == null ) { throw new ArgumentNullException( "urlTemplate", "Site must have an urlTemplate" ); } urlTemplate = value; } } [ XmlElement( "selected" ) ] public bool Selected { get { return selected; } set { selected = value; } } } }