DataMemberAttribute.EmitDefaultValue Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Standardwert für ein Feld oder eine Eigenschaft serialisiert werden soll.
public:
property bool EmitDefaultValue { bool get(); void set(bool value); };
public bool EmitDefaultValue { get; set; }
member this.EmitDefaultValue : bool with get, set
Public Property EmitDefaultValue As Boolean
Eigenschaftswert
truewenn der Standardwert für ein Element im Serialisierungsstream generiert werden soll; andernfalls . false Der Standardwert lautet true.
Beispiele
Das folgende Beispiel zeigt die Eigenschaft, die EmitDefaultValuefalse für verschiedene Felder festgelegt ist.
[DataContract]
public class Employee
{
// The CLR default for as string is a null value.
// This will be written as <employeeName xsi:nill="true" />
[DataMember]
public string EmployeeName = null;
// This will be written as <employeeID>0</employeeID>
[DataMember]
public int employeeID = 0;
// The next three will not be written because the EmitDefaultValue = false.
[DataMember(EmitDefaultValue = false)]
public string position = null;
[DataMember(EmitDefaultValue = false)]
public int salary = 0;
[DataMember(EmitDefaultValue = false)]
public int? bonus = null;
// This will be written as <targetSalary>57800</targetSalary>
[DataMember(EmitDefaultValue = false)]
public int targetSalary = 57800;
}
<DataContract()> _
Public Class Employee
' The CLR default for as string is a null value.
' This will be written as <employeeName xsi:nil="true" />
<DataMember()> _
Public employeeName As String = Nothing
' This will be written as <employeeID>0</employeeID>
<DataMember()> _
Public employeeID As Integer = 0
' The next two will not be written because the EmitDefaultValue = false.
<DataMember(EmitDefaultValue := False)> Public position As String = Nothing
<DataMember(EmitDefaultValue := False)> Public salary As Integer = 0
' This will be written as <targetSalary>555</targetSalary> because
' the 555 does not match the .NET default of 0.
<DataMember(EmitDefaultValue := False)> Public targetSalary As Integer = 555
End Class
Hinweise
In .NET Framework weisen Typen ein Konzept von Standardwerten auf. For example, for any reference type the default value is null, and for an integer type it is 0. Es ist gelegentlich wünschenswert, ein Datenelement aus den serialisierten Daten auszulassen, wenn es auf seinen Standardwert festgelegt ist. Legen Sie dazu die EmitDefaultValue Eigenschaft auf false (standardmäßig festgelegt true ).
Hinweis
Das Festlegen der EmitDefaultValue Eigenschaft auf false diese Eigenschaft ist keine empfohlene Methode. Dies sollte nur erfolgen, wenn eine bestimmte Notwendigkeit besteht (z. B. für die Interoperabilität oder zum Verringern der Datengröße).