DataContractSerializer case-insensitive datamember bug
        Posted  
        
            by Andrew Bullock
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Andrew Bullock
        
        
        
        Published on 2010-06-07T10:11:21Z
        Indexed on 
            2010/06/07
            10:32 UTC
        
        
        Read the original article
        Hit count: 1019
        
.NET
|datacontractserializer
Here is my class:
[DataContract]
public class EventIndex : IExtensibleDataObject
{
    public ExtensionDataObject ExtensionData { get; set; }
    [DataMember]
    private readonly IList<EventDescription> events;
    public IEnumerable<EventDescription> Events { get { return events; } }
    public EventIndex()
    {
        events = new List<EventDescription>();
    }
}
As you can see, events is marked as a member.
When I try and deserialize one of these classes, ReadObject throws a NullReferenceException. After a morning spent inside reflector, it turns out that its trying to deserialize the events collection into the Events getter.
If I rename one of the members (events\ Events) I don't have an issue.
Is there a way to make this work properly, without renaming workarounds or other such nonsense?
© Stack Overflow or respective owner