XmlEnumAttribute Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy XmlEnumAttribute.

Przeciążenia

XmlEnumAttribute()

Inicjuje nowe wystąpienie klasy XmlEnumAttribute.

XmlEnumAttribute(String)

Inicjuje XmlEnumAttribute nowe wystąpienie klasy i określa wartość XML, którą XmlSerializer generuje lub rozpoznaje (gdy serializuje lub deserializuje odpowiednio wyliczenie).

XmlEnumAttribute()

Źródło:
XmlEnumAttribute.cs
Źródło:
XmlEnumAttribute.cs
Źródło:
XmlEnumAttribute.cs

Inicjuje nowe wystąpienie klasy XmlEnumAttribute.

public XmlEnumAttribute ();

Przykłady

Poniższy przykład serializuje dwie klasy o nazwie Food i FoodType. Klasa FoodType zawiera dwa wyliczenia, które są zastępowane, a dla każdego wyliczenia przykład tworzy XmlEnumAttribute obiekt przypisany do XmlEnum właściwości XmlAttributes obiektu. Następnie przykład dodaje XmlAttributes obiekt do XmlAttributeOverrides obiektu, który jest używany do utworzenia obiektu XmlSerializer.

using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

// This is the class that will be serialized.
public class Food
{
   public FoodType Type;
}

public enum FoodType
{
   // Subsequent code overrides these enumerations.
   Low,
   High
}

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeObject("OverrideEnum.xml");
      test.DeserializeObject("OverrideEnum.xml");
   }

   // Return an XmlSerializer used for overriding.
   public XmlSerializer CreateOverrider()
   {
      // Create the XmlOverrides and XmlAttributes objects.
      XmlAttributeOverrides xOver = new XmlAttributeOverrides();
      XmlAttributes xAttrs = new XmlAttributes();

      // Add an XmlEnumAttribute for the FoodType.Low enumeration.
      XmlEnumAttribute xEnum = new XmlEnumAttribute();
      xEnum.Name = "Cold";
      xAttrs.XmlEnum = xEnum;
      xOver.Add(typeof(FoodType), "Low", xAttrs);

      // Add an XmlEnumAttribute for the FoodType.High enumeration.
      xAttrs = new XmlAttributes();
      xEnum = new XmlEnumAttribute();
      xEnum.Name = "Hot";
      xAttrs.XmlEnum = xEnum;
      xOver.Add(typeof(FoodType), "High", xAttrs);

      // Create the XmlSerializer, and return it.
      return new XmlSerializer(typeof(Food), xOver);
   }

   public void SerializeObject(string filename)
   {
      // Create an instance of the XmlSerializer class.
      XmlSerializer mySerializer =  CreateOverrider();
      // Writing the file requires a TextWriter.
      TextWriter writer = new StreamWriter(filename);

      // Create an instance of the class that will be serialized.
      Food myFood = new Food();

      // Set the object properties.
      myFood.Type = FoodType.High;

      // Serialize the class, and close the TextWriter.
      mySerializer.Serialize(writer, myFood);
      writer.Close();
   }

   public void DeserializeObject(string filename)
   {
      XmlSerializer mySerializer = CreateOverrider();
      FileStream fs = new FileStream(filename, FileMode.Open);
      Food myFood = (Food)
      mySerializer.Deserialize(fs);

      Console.WriteLine(myFood.Type);
   }
}

Uwagi

Możesz użyć polecenia XmlEnumAttribute , aby zastąpić istniejącą wyliczenie.

Uwaga

Możesz użyć słowa XmlEnum w kodzie zamiast dłuższego XmlEnumAttribute.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

XmlEnumAttribute(String)

Źródło:
XmlEnumAttribute.cs
Źródło:
XmlEnumAttribute.cs
Źródło:
XmlEnumAttribute.cs

Inicjuje XmlEnumAttribute nowe wystąpienie klasy i określa wartość XML, którą XmlSerializer generuje lub rozpoznaje (gdy serializuje lub deserializuje odpowiednio wyliczenie).

public XmlEnumAttribute (string name);
public XmlEnumAttribute (string? name);

Parametry

name
String

Nazwa zastępowania elementu członkowskiego wyliczenia.

Przykłady

Poniższy przykład dotyczy XmlEnumAttribute elementów członkowskich wyliczenia. Po wygenerowaniu XmlSerializer danych XML dla tego wyliczenia dane są zgodne z wartościami Name właściwości.

public enum EmployeeStatus
{
   [XmlEnum("Single")]
   One,
   [XmlEnum("Double")]
   Two,
   [XmlEnum("Triple")]
   Three
}

Uwagi

Uwaga

Możesz użyć słowa XmlEnum w kodzie zamiast dłuższego XmlEnumAttribute.

Zobacz też

Dotyczy

.NET 9 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0