Say we have a struct that it\'s data is provided by un-managed byte array using Marshal.PtrToStructure.
The C# struct layout:
[StructLayout(LayoutKin
I got this to work using the following:
public class MySerializableClass
{
[XmlIgnore]
public string NaughtyXmlCharactersAsString { get; set; }
[XmlElement(ElementName = "NaughtyXmlCharacters", DataType = "hexBinary")]
public byte[] NaughtyXmlCharactersAsBytes
{
get { return Encoding.UTF8.GetBytes(NaughtyCharactersAsString ?? string.Empty); }
set { NaughtyXmlCharactersAsString = Encoding.UTF8.GetString(value); }
}
I would then only access the "AsString" version of the property.