public void ShouldProduceXmlDocumentationOfReflectorTypesButNotIncludeEmptyDescriptions() { NetReflectorTypeTable table = new NetReflectorTypeTable(); table.Add(typeof (TestSubClass)); StringWriter writer = new StringWriter(); XmlDocumentationGenerator generator = new XmlDocumentationGenerator(table, new XmlMemberDocumentationGeneratorExtension()); generator.Write(writer); string expectedXml = @"<?xml version=""1.0"" encoding=""utf-16""?><netreflector><reflectortype><name>TestSubClass</name><namespace>Exortech.NetReflector.Test</namespace><reflectorName>sub</reflectorName></reflectortype></netreflector>"; Assert.AreEqual(expectedXml, writer.ToString()); }
public virtual void Write(XmlWriter writer, IXmlTypeSerialiser typeSerialiser) { writer.WriteStartElement("members"); foreach (IXmlMemberSerialiser memberSerialiser in typeSerialiser.MemberSerialisers) { writer.WriteStartElement("member"); writer.WriteElementString("name", memberSerialiser.ReflectorMember.Name); writer.WriteElementString("reflectorName", memberSerialiser.Attribute.Name); XmlDocumentationGenerator.WriteIfNotNull(writer, "description", memberSerialiser.Attribute.Description); writer.WriteElementString("required", memberSerialiser.Attribute.Required.ToString()); XmlDocumentationGenerator.WriteIfNotNull(writer, "instanceType", memberSerialiser.Attribute.InstanceType); XmlDocumentationGenerator.WriteIfNotNull(writer, "instanceTypeKey", memberSerialiser.Attribute.InstanceTypeKey); writer.WriteEndElement(); } writer.WriteEndElement(); }