dotnet/runtime
Auf GitHub ansehenC# compiler should not report CS0649 when the fields in question are marked with [DataMember] attribute
Open
#45.207 geöffnet am 25. Nov. 2020
area-Serializationhelp wanted
Repository-Metriken
- Stars
- (17.886 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 12T 11h) (661 gemergte PRs in 30 T)
Beschreibung
Version Used:
Visual studio 2019 16.8.2
Steps to Reproduce:
Compile code like this:
[DataContract]
sealed class TimeSeriesPoint
{
[DataMember]
public float compliance, volume;
}
Expected Behavior:
Maybe no warnings at all.
Maybe a different message, like "...will always have its default value 0, unless set by deserializing".
Actual Behavior:
Warning CS0649: Field 'TimeSeriesPoint.volume' is never assigned to, and will always have its default value 0.
This is incorrect because despite these fields are never assigned to, they won't always have a default value, due to serialization.