EnumMemberAttribute Class
Specifies that the field is an enumeration member and should be serialized.
Assembly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)
The EnumMemberAttribute enables fine control of the names of the enumerations as they are serialized.
To use EnumMemberAttribute, create an enumeration and apply the DataContractAttribute attribute to the enumeration. Then apply the EnumMemberAttribute attribute to each member that needs to be in the serialization stream.
The following example shows EnumMemberAttribute applied to members of an enumeration.
<DataContract()> _ Public Enum Position <EnumMember(Value:="Emp")> Employee <EnumMember(Value:="Mgr")> Manager <EnumMember(Value:="Ctr")> Contractor NotASerializableEnumeration End Enum <DataContract()> _ Public Class Person Implements IExtensibleDataObject Public Sub New(ByVal firstNameValue As String, _ ByVal lastNameValue As String) LastName = firstNameValue FirstName = lastNameValue End Sub Private extensioDataValue As ExtensionDataObject Public Property ExtensionData() As ExtensionDataObject _ Implements IExtensibleDataObject.ExtensionData Get Return extensioDataValue End Get Set extensioDataValue = value End Set End Property <DataMember()> _ Friend FirstName As String <DataMember()> _ Friend LastName As String <DataMember()> _ Friend Description As Position End Class NotInheritable Public Class Test Private Sub New() End Sub Shared Sub Main() WriteObject("Enum.xml") Console.ReadLine() End Sub Shared Sub WriteObject(ByVal path As String) Console.WriteLine("Writing...") Dim p As New Person("Denise", "Smith") p.Description = Position.Manager Dim fs As New FileStream(path, FileMode.Create) Try Dim ser As New DataContractSerializer(GetType(Person)) ser.WriteObject(fs, p) Console.WriteLine("Done") Catch exc As SerializationException Console.WriteLine(exc.Message) Console.WriteLine(exc.StackTrace) Finally fs.Close() End Try End Sub End Class
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.