using System; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; [XmlSchemaProvider ("GetXsdType")] public class Test : IXmlSerializable { public static void Main () { Test test = new Test (); XmlSerializer ser = new XmlSerializer (typeof (Test)); using (XmlWriter xw = XmlWriter.Create (Console.Out)) { ser.Serialize (xw, test); } } public XmlSchema GetSchema () { return null; } public void ReadXml (XmlReader reader) { } public void WriteXml (XmlWriter writer) { } public static XmlQualifiedName GetXsdType (XmlSchemaSet xss) { XmlSchema xs = new XmlSchema (); XmlSchemaComplexType ct = new XmlSchemaComplexType (); ct.Name = "foo"; xs.Items.Add (ct); xss.Add (xs); return new XmlQualifiedName ("foo"); } }