[AttributeUsage(AttributeTargets.Field)] |
To serialize an object as an encoded SOAP message, you must construct the XmlSerializer using an XmlTypeMapping created with the SoapReflectionImporter.ImportTypeMapping method of the SoapReflectionImporter class.
Use the SoapEnumAttribute to change the enumeration that the XmlSerializer generates or recognizes (when it serializes or deserializes a class, respectively). For example, if an enumeration contains a member named
One
, but you prefer that the XML output be named
Single
, apply the SoapEnumAttribute to the enumeration member and set the SoapEnumAttribute.Name property to "Single".
You can override the SoapEnumAttribute.Name property value of a SoapEnumAttribute by creating an instance of the SoapEnumAttribute class and assigning it to the SoapAttributes.SoapEnum property of a SoapAttributes. For details, see the SoapAttributeOverrides class overview.
To serialize an object as an encoded SOAP message, you must construct the XmlSerializer using an XmlTypeMapping created with the SoapReflectionImporter.ImportTypeMapping method of the SoapReflectionImporter class.
For more information about using attributes, see the conceptual topic at MSDN: extendingmetadatausingattributes.
Food
that includes an enumeration named
FoodType
. The
FoodType
enumeration is overridden by creating a SoapEnumAttribute for each enumeration and setting the SoapAttributes.SoapEnum property of a SoapAttributes to the SoapEnumAttribute. The SoapAttributes is added to a SoapAttributeOverrides that is used to create an XmlSerializer.using System; using System.IO; using System.Xml; using System.Xml.Serialization; public class Group{ public string GroupName; public GroupType Grouptype; } public enum GroupType{ // Use the SoapEnumAttribute to instruct the XmlSerializer // to generate Small and Large instead of A and B. [SoapEnum("Small")] A, [SoapEnum("Large")] B } public class Run { static void Main(){ Run test= new Run(); test.SerializeObject("SoapEnum.xml"); test.SerializeOverride("SoapOverride.xml"); Console.WriteLine("Fininished writing two files"); } private void SerializeObject(string filename){ // Create an instance of the XmlSerializer Class. XmlTypeMapping mapp = (new SoapReflectionImporter()).ImportTypeMapping(typeof(Group)); XmlSerializer mySerializer = new XmlSerializer(mapp); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Create an instance of the Class that will be serialized. Group myGroup = new Group(); // Set the object properties. myGroup.GroupName = ".NET"; myGroup.Grouptype= GroupType.A; // Serialize the Class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } private void SerializeOverride(string fileName){ SoapAttributeOverrides soapOver = new SoapAttributeOverrides(); SoapAttributes SoapAtts = new SoapAttributes(); // Add a SoapEnumAttribute for the GroupType.A enumerator. // Instead of 'A' it will be "West". SoapEnumAttribute soapEnum = new SoapEnumAttribute("West"); // Override the "A" enumerator. SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "A", SoapAtts); // Add another SoapEnumAttribute for the GroupType.B enumerator. // Instead of //B// it will be "East". SoapAtts= new SoapAttributes(); soapEnum = new SoapEnumAttribute(); soapEnum.Name = "East"; SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "B", SoapAtts); // Create an XmlSerializer used for overriding. XmlTypeMapping map = new SoapReflectionImporter(soapOver). ImportTypeMapping(typeof(Group)); XmlSerializer ser = new XmlSerializer(map); Group myGroup = new Group(); myGroup.GroupName = ".NET"; myGroup.Grouptype = GroupType.B; // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); ser.Serialize(writer, myGroup); writer.Close(); } }
ctor #1 | Overloaded:.ctor() Default constructor. This constructor is called by derived class constructors to initialize state in this type.Initializes a new instance of the SoapEnumAttribute class. |
ctor #2 | Overloaded:.ctor(string name) Initializes a new instance of the SoapEnumAttribute class, using the specified element name. |
Name | Read-write Gets or sets the value generated in an XML document when the XmlSerializer serializes an enumeration, or the value recognized when it deserializes the enumeration member. |
TypeId (inherited from System.Attribute) |
Read-only See base class member description: System.Attribute.TypeId When implemented in a derived class, gets a unique identifier for this Attribute. |
Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
GetHashCode (inherited from System.Attribute) |
See base class member description: System.Attribute.GetHashCode Returns the hash code for this instance. |
GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
IsDefaultAttribute (inherited from System.Attribute) |
See base class member description: System.Attribute.IsDefaultAttribute When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class. |
Match (inherited from System.Attribute) |
See base class member description: System.Attribute.Match When overridden in a derived class, returns a value indicating whether this instance equals a specified object. |
ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
Finalize (inherited from System.Object) |
See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. |
MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public SoapEnumAttribute(); |
Food
that includes an enumeration named
FoodType
. The
FoodType
enumeration is overridden by creating a SoapEnumAttribute for each enumeration and setting the SoapAttributes.SoapEnum property of a SoapAttributes to the SoapEnumAttribute. The SoapAttributes is added to a SoapAttributeOverrides that is used to create an XmlSerializer.using System; using System.IO; using System.Xml; using System.Xml.Serialization; public class Group{ public string GroupName; public GroupType Grouptype; } public enum GroupType{ // Use the SoapEnumAttribute to instruct the XmlSerializer // to generate Small and Large instead of A and B. [SoapEnum("Small")] A, [SoapEnum("Large")] B } public class Run { static void Main(){ Run test= new Run(); test.SerializeObject("SoapEnum.xml"); test.SerializeOverride("SoapOverride.xml"); Console.WriteLine("Fininished writing two files"); } private void SerializeObject(string filename){ // Create an instance of the XmlSerializer Class. XmlTypeMapping mapp = (new SoapReflectionImporter()).ImportTypeMapping(typeof(Group)); XmlSerializer mySerializer = new XmlSerializer(mapp); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Create an instance of the Class that will be serialized. Group myGroup = new Group(); // Set the object properties. myGroup.GroupName = ".NET"; myGroup.Grouptype= GroupType.A; // Serialize the Class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } private void SerializeOverride(string fileName){ SoapAttributeOverrides soapOver = new SoapAttributeOverrides(); SoapAttributes SoapAtts = new SoapAttributes(); // Add a SoapEnumAttribute for the GroupType.A enumerator. // Instead of 'A' it will be "West". SoapEnumAttribute soapEnum = new SoapEnumAttribute("West"); // Override the "A" enumerator. SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "A", SoapAtts); // Add another SoapEnumAttribute for the GroupType.B enumerator. // Instead of //B// it will be "East". SoapAtts= new SoapAttributes(); soapEnum = new SoapEnumAttribute(); soapEnum.Name = "East"; SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "B", SoapAtts); // Create an XmlSerializer used for overriding. XmlTypeMapping map = new SoapReflectionImporter(soapOver). ImportTypeMapping(typeof(Group)); XmlSerializer ser = new XmlSerializer(map); Group myGroup = new Group(); myGroup.GroupName = ".NET"; myGroup.Grouptype = GroupType.B; // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); ser.Serialize(writer, myGroup); writer.Close(); } }
public SoapEnumAttribute( |
name
Food
that includes an enumeration named
FoodType
. The
FoodType
enumeration is overridden by creating a SoapEnumAttribute for each enumeration and setting the SoapAttributes.SoapEnum property of a SoapAttributes to the SoapEnumAttribute. The SoapAttributes is added to a SoapAttributeOverrides that is used to create an XmlSerializer.using System; using System.IO; using System.Xml; using System.Xml.Serialization; public class Group{ public string GroupName; public GroupType Grouptype; } public enum GroupType{ // Use the SoapEnumAttribute to instruct the XmlSerializer // to generate Small and Large instead of A and B. [SoapEnum("Small")] A, [SoapEnum("Large")] B } public class Run { static void Main(){ Run test= new Run(); test.SerializeObject("SoapEnum.xml"); test.SerializeOverride("SoapOverride.xml"); Console.WriteLine("Fininished writing two files"); } private void SerializeObject(string filename){ // Create an instance of the XmlSerializer Class. XmlTypeMapping mapp = (new SoapReflectionImporter()).ImportTypeMapping(typeof(Group)); XmlSerializer mySerializer = new XmlSerializer(mapp); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Create an instance of the Class that will be serialized. Group myGroup = new Group(); // Set the object properties. myGroup.GroupName = ".NET"; myGroup.Grouptype= GroupType.A; // Serialize the Class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } private void SerializeOverride(string fileName){ SoapAttributeOverrides soapOver = new SoapAttributeOverrides(); SoapAttributes SoapAtts = new SoapAttributes(); // Add a SoapEnumAttribute for the GroupType.A enumerator. // Instead of 'A' it will be "West". SoapEnumAttribute soapEnum = new SoapEnumAttribute("West"); // Override the "A" enumerator. SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "A", SoapAtts); // Add another SoapEnumAttribute for the GroupType.B enumerator. // Instead of //B// it will be "East". SoapAtts= new SoapAttributes(); soapEnum = new SoapEnumAttribute(); soapEnum.Name = "East"; SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "B", SoapAtts); // Create an XmlSerializer used for overriding. XmlTypeMapping map = new SoapReflectionImporter(soapOver). ImportTypeMapping(typeof(Group)); XmlSerializer ser = new XmlSerializer(map); Group myGroup = new Group(); myGroup.GroupName = ".NET"; myGroup.Grouptype = GroupType.B; // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); ser.Serialize(writer, myGroup); writer.Close(); } }
public string Name {get; set;}
|
Food
that includes an enumeration named
FoodType
. The
FoodType
enumeration is overridden by creating a SoapEnumAttribute for each enumeration and setting the SoapAttributes.SoapEnum property of a SoapAttributes to the SoapEnumAttribute. The SoapAttributes is added to a SoapAttributeOverrides that is used to create an XmlSerializer.using System; using System.IO; using System.Xml; using System.Xml.Serialization; public class Group{ public string GroupName; public GroupType Grouptype; } public enum GroupType{ // Use the SoapEnumAttribute to instruct the XmlSerializer // to generate Small and Large instead of A and B. [SoapEnum("Small")] A, [SoapEnum("Large")] B } public class Run { static void Main(){ Run test= new Run(); test.SerializeObject("SoapEnum.xml"); test.SerializeOverride("SoapOverride.xml"); Console.WriteLine("Fininished writing two files"); } private void SerializeObject(string filename){ // Create an instance of the XmlSerializer Class. XmlTypeMapping mapp = (new SoapReflectionImporter()).ImportTypeMapping(typeof(Group)); XmlSerializer mySerializer = new XmlSerializer(mapp); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Create an instance of the Class that will be serialized. Group myGroup = new Group(); // Set the object properties. myGroup.GroupName = ".NET"; myGroup.Grouptype= GroupType.A; // Serialize the Class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } private void SerializeOverride(string fileName){ SoapAttributeOverrides soapOver = new SoapAttributeOverrides(); SoapAttributes SoapAtts = new SoapAttributes(); // Add a SoapEnumAttribute for the GroupType.A enumerator. // Instead of 'A' it will be "West". SoapEnumAttribute soapEnum = new SoapEnumAttribute("West"); // Override the "A" enumerator. SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "A", SoapAtts); // Add another SoapEnumAttribute for the GroupType.B enumerator. // Instead of //B// it will be "East". SoapAtts= new SoapAttributes(); soapEnum = new SoapEnumAttribute(); soapEnum.Name = "East"; SoapAtts.SoapEnum = soapEnum; soapOver.Add(typeof(GroupType), "B", SoapAtts); // Create an XmlSerializer used for overriding. XmlTypeMapping map = new SoapReflectionImporter(soapOver). ImportTypeMapping(typeof(Group)); XmlSerializer ser = new XmlSerializer(map); Group myGroup = new Group(); myGroup.GroupName = ".NET"; myGroup.Grouptype = GroupType.B; // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); ser.Serialize(writer, myGroup); writer.Close(); } }
public virtual object TypeId {get;}
|
~SoapEnumAttribute(); |
public override int GetHashCode(); |
public Type GetType(); |
public virtual bool IsDefaultAttribute(); |
The implementation of this method in a derived class compares the value of this instance to a standard, default value obtained by some means, then returns a Boolean value that indicates whether the value of this instance is equal to the standard. The standard value is typically coded as a constant in the implementation, or stored programmatically in a field used by the implementation.
obj
protected object MemberwiseClone(); |
public virtual string ToString(); |