Я делаю некоторые пользовательские сериализации с DataContractSerializer
через использование интерфейса IXmlSerializable
.IXmlSerializable пространство имен коллекции Wrapper
Например:
public class CustomPartOfAContract : IXmlSerializable
{
public void WriteXml(XmlWriter writer)
{
//...
}
public void ReadXml(XmlReader reader)
{
//...
}
}
[DataContract(Namespace="http://mynamespace.com")]
public class MyDataContract
{
[DataMember(IsRequired=true)]
public ICollection<CustomPartOfAContract> CustomParts { get; set; }
}
Теперь в методе WriteXml
я могу сказать XmlWriter
какое пространство имен использовать для каждого элемента я пишу. Однако я не могу понять, как указать пространство имен для CustomPartOfAContract
.
Вывод XML в файл, пространство имен для свойства CustomParts
в MyDataContract
создается из пространства имен исходного кода.
Кто-нибудь знает, как я могу указать пространство имен, которое будет использоваться при сериализации?