Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

EnumMemberAttribute classe

 

Date de publication : novembre 2016

Spécifie que le champ est un membre d'énumération et qu'il doit être sérialisé.

Espace de noms:   System.Runtime.Serialization
Assembly:  System.Runtime.Serialization (dans System.Runtime.Serialization.dll)

System.Object
  System.Attribute
    System.Runtime.Serialization.EnumMemberAttribute

[AttributeUsageAttribute(AttributeTargets.Field, Inherited = false, 
	AllowMultiple = false)]
public sealed class EnumMemberAttribute : Attribute

NomDescription
System_CAPS_pubmethodEnumMemberAttribute()

Initialise une nouvelle instance de la classe EnumMemberAttribute.

NomDescription
System_CAPS_pubpropertyIsValueSetExplicitly

Obtient si le Value a été définie explicitement.

System_CAPS_pubpropertyTypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.(Hérité de Attribute.)

System_CAPS_pubpropertyValue

Obtient ou définit la valeur associée au membre d'énumération auquel l'attribut est appliqué.

NomDescription
System_CAPS_pubmethodEquals(Object)

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Retourne une valeur qui indique si cette instance est égale à un objet spécifié.(Hérité de Attribute.)

System_CAPS_pubmethodGetHashCode()

Retourne le code de hachage de cette instance.(Hérité de Attribute.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodIsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.(Hérité de Attribute.)

System_CAPS_pubmethodMatch(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance équivaut à un objet spécifié.(Hérité de Attribute.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).(Hérité de Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.(Hérité de Attribute.)

The T:System.Runtime.Serialization.EnumMemberAttribute enables fine control of the names of the enumerations as they are serialized.

To use T:System.Runtime.Serialization.EnumMemberAttribute, create an enumeration and apply the T:System.Runtime.Serialization.DataContractAttribute attribute to the enumeration. Then apply the T:System.Runtime.Serialization.EnumMemberAttribute attribute to each member that needs to be in the serialization stream.

The following example shows T:System.Runtime.Serialization.EnumMemberAttribute applied to members of an enumeration.

[DataContract]
public enum Position
{
    [EnumMember(Value = "Emp")]
    Employee,
    [EnumMember(Value = "Mgr")]
    Manager,
    [EnumMember(Value = "Ctr")]
    Contractor,
    NotASerializableEnumeration
}

[DataContract]
public class Person : IExtensibleDataObject
{
    public Person(string firstNameValue, string lastNameValue)
    {
        LastName = firstNameValue;
        FirstName = lastNameValue;
    }

    private ExtensionDataObject extensioDataValue;
    public ExtensionDataObject ExtensionData
    {
        get { return extensioDataValue; }
        set { extensioDataValue = value; }
    }

    [DataMember]
    internal string FirstName;
    [DataMember]
    internal string LastName;
    [DataMember]
    internal Position Description;
}

public sealed class Test
{
    private Test() { }
    static void Main()
    {

        try
        {

            Test t = new Test();
            t.Serialize("Enum.xml");
            Console.WriteLine("Done");
            Console.ReadLine();
        }
        catch (SerializationException  exc)
        {
            Console.WriteLine(exc.Message);
            Console.ReadLine();

        }

    }



    private void Serialize(string path)
    {
        Console.WriteLine("Serializing...");
        Person p = new Person("Denise", "Smith");
        p.Description = Position.Manager;

        FileStream fs = new FileStream(path, FileMode.Create);

        try
        {
            DataContractSerializer ser =
                new DataContractSerializer(typeof(Person));
            ser.WriteObject(fs, p);
            Console.WriteLine("Done");
        }
        catch (SerializationException exc)
        {
            Console.WriteLine(exc.Message);
            Console.WriteLine(exc.StackTrace);
        }
        finally
        {
            fs.Close();
        }
    }
}

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: