XmlEnumAttribute Konstruktory
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy XmlEnumAttribute.
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). |
- Źródło:
- XmlEnumAttribute.cs
- Źródło:
- XmlEnumAttribute.cs
- Źródło:
- XmlEnumAttribute.cs
Inicjuje nowe wystąpienie klasy XmlEnumAttribute.
public:
XmlEnumAttribute();
public XmlEnumAttribute ();
Public Sub New ()
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.Xml.dll>
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public enum class FoodType
{
// Subsequent code overrides these enumerations.
Low, High
};
// This is the class that will be serialized.
public ref class Food
{
public:
FoodType Type;
};
// Return an XmlSerializer used for overriding.
XmlSerializer^ CreateOverrider()
{
// Create the XmlOverrides and XmlAttributes objects.
XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides;
XmlAttributes^ xAttrs = gcnew XmlAttributes;
// Add an XmlEnumAttribute for the FoodType.Low enumeration.
XmlEnumAttribute^ xEnum = gcnew XmlEnumAttribute;
xEnum->Name = "Cold";
xAttrs->XmlEnum = xEnum;
xOver->Add( FoodType::typeid, "Low", xAttrs );
// Add an XmlEnumAttribute for the FoodType.High enumeration.
xAttrs = gcnew XmlAttributes;
xEnum = gcnew XmlEnumAttribute;
xEnum->Name = "Hot";
xAttrs->XmlEnum = xEnum;
xOver->Add( FoodType::typeid, "High", xAttrs );
// Create the XmlSerializer, and return it.
return gcnew XmlSerializer( Food::typeid,xOver );
}
void SerializeObject( String^ filename )
{
// Create an instance of the XmlSerializer class.
XmlSerializer^ mySerializer = CreateOverrider();
// Writing the file requires a TextWriter.
TextWriter^ writer = gcnew StreamWriter( filename );
// Create an instance of the class that will be serialized.
Food^ myFood = gcnew Food;
// Set the object properties.
myFood->Type = FoodType::High;
// Serialize the class, and close the TextWriter.
mySerializer->Serialize( writer, myFood );
writer->Close();
}
void DeserializeObject( String^ filename )
{
XmlSerializer^ mySerializer = CreateOverrider();
FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
Food^ myFood = dynamic_cast<Food^>(mySerializer->Deserialize( fs ));
Console::WriteLine( myFood->Type );
}
int main()
{
SerializeObject( "OverrideEnum.xml" );
DeserializeObject( "OverrideEnum.xml" );
}
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);
}
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
' This is the class that will be serialized.
Public Class Food
Public Type As FoodType
End Class
Public Enum FoodType
' Subsequent code overrides these enumerations.
Low
High
End Enum
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("OverrideEnum.xml")
test.DeserializeObject("OverrideEnum.xml")
End Sub
' Return an XmlSerializer used for overriding.
Public Function CreateOverrider() As XmlSerializer
' Create the XmlOverrides and XmlAttributes objects.
Dim xOver As New XmlAttributeOverrides()
Dim xAttrs As New XmlAttributes()
' Add an XmlEnumAttribute for the FoodType.Low enumeration.
Dim xEnum As New XmlEnumAttribute()
xEnum.Name = "Cold"
xAttrs.XmlEnum = xEnum
xOver.Add(GetType(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(GetType(FoodType), "High", xAttrs)
' Create the XmlSerializer, and return it.
Return New XmlSerializer(GetType(Food), xOver)
End Function
Public Sub SerializeObject(ByVal filename As String)
' Create an instance of the XmlSerializer class.
Dim mySerializer As XmlSerializer = CreateOverrider()
' Writing the file requires a TextWriter.
Dim writer As New StreamWriter(filename)
' Create an instance of the class that will be serialized.
Dim myFood As New Food()
' Set the object properties.
myFood.Type = FoodType.High
' Serialize the class, and close the TextWriter.
mySerializer.Serialize(writer, myFood)
writer.Close()
End Sub
Public Sub DeserializeObject(ByVal filename As String)
Dim mySerializer As XmlSerializer = CreateOverrider()
Dim fs As New FileStream(filename, FileMode.Open)
Dim myFood As Food = CType(mySerializer.Deserialize(fs), Food)
Console.WriteLine(myFood.Type)
End Sub
End Class
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 |
- Ź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(System::String ^ name);
public XmlEnumAttribute (string name);
public XmlEnumAttribute (string? name);
new System.Xml.Serialization.XmlEnumAttribute : string -> System.Xml.Serialization.XmlEnumAttribute
Public Sub New (name As String)
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 class EmployeeStatus
{
[XmlEnum("Single")]
One,
[XmlEnum("Double")]
Two,
[XmlEnum("Triple")]
Three
};
public enum EmployeeStatus
{
[XmlEnum("Single")]
One,
[XmlEnum("Double")]
Two,
[XmlEnum("Triple")]
Three
}
Public Enum EmployeeStatus
<XmlEnumAttribute("Single")> One
<XmlEnumAttribute("Double")> Two
<XmlEnumAttribute("Triple")> Three
End Enum
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 |
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: