EmitDefaultValue
по умолчанию.
Вы можете попробовать использовать атрибут DefaultValue
из System.ComponentModel
, но я не уверен, работает ли он.
Я только что протестировал атрибут DefaultValue
, и он не работает. Это означает, что вы не можете изменить значение по умолчанию - всегда будет использоваться значение по умолчанию для типа данных.
Если вы хотите установить Bar
на true
, используйте:
[DataContract]
public class Foo
{
[DataMember(EmitDefaultValue = false)
public bool? Bar { get; set; }
[OnDeserialized]
private void SetValuesOnDeserialized(StreamingContext context)
{
if (!Bar.HasValue)
{
Bar = true;
}
}
}