当前位置: 首页>>代码示例>>C#>>正文


C# SoapAttributes.SoapDefaultValue属性代码示例

本文整理汇总了C#中System.Xml.Serialization.SoapAttributes.SoapDefaultValue属性的典型用法代码示例。如果您正苦于以下问题:C# SoapAttributes.SoapDefaultValue属性的具体用法?C# SoapAttributes.SoapDefaultValue怎么用?C# SoapAttributes.SoapDefaultValue使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Xml.Serialization.SoapAttributes的用法示例。


在下文中一共展示了SoapAttributes.SoapDefaultValue属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
using System.Xml.Schema;
using System.ComponentModel;

public class Group
{
   // The default is set to .NET.
   [DefaultValue(".NET")]
   public string GroupName;
}
 
public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeOriginal("SoapOriginal.xml");
      test.SerializeOverride("mySoapAttributeOverridesideAttributes.xml");
      test.DeserializeOriginal("SoapOriginal.xml");
      test.DeserializeOverride("mySoapAttributeOverridesideAttributes.xml");
   }
   public void SerializeOriginal(string filename)
   {
      // Create an instance of the XmlSerializer class.
      XmlSerializer mySerializer =  
      new XmlSerializer(typeof(Group));

      // 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();

      // Setting the GroupName to '.NET' is like not setting it at all
      // because it is the default value. So no value will be 
      // serialized, and on deserialization it will appear as a blank.
      myGroup.GroupName = ".NET";

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

   public void SerializeOverride(string filename)
   {
      // Create an instance of the XmlSerializer class
      // that overrides the serialization.
      XmlSerializer overRideSerializer = CreateOverrideSerializer();

      // 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();

      // The override specifies that the default value is now 
      // 'Team1'. So setting the GroupName to '.NET' means
      // the value will be serialized.
      myGroup.GroupName = ".NET";
      // Serialize the class, and close the TextWriter.
      overRideSerializer.Serialize(writer, myGroup);
       writer.Close();
   }

   public void DeserializeOriginal(string filename)
   {
      // Create an instance of the XmlSerializer class.
      XmlSerializer mySerializer= new XmlSerializer(typeof(Group));
      // Reading the file requires a TextReader.
      TextReader reader = new StreamReader(filename);

      // Deserialize and cast the object.
      Group myGroup; 
      myGroup = (Group) mySerializer.Deserialize(reader);

      Console.WriteLine(myGroup.GroupName);
      Console.WriteLine();
   }

   public void DeserializeOverride(string filename)
   {
      // Create an instance of the XmlSerializer class.
      XmlSerializer overRideSerializer = CreateOverrideSerializer();
      // Reading the file requires a TextReader.
      TextReader reader = new StreamReader(filename);

      // Deserialize and cast the object.
      Group myGroup; 
      myGroup = (Group) overRideSerializer.Deserialize(reader);

      Console.WriteLine(myGroup.GroupName);
   }

   private XmlSerializer CreateOverrideSerializer()
   {
      SoapAttributeOverrides mySoapAttributeOverrides = 
      new SoapAttributeOverrides();
      SoapAttributes soapAtts = new SoapAttributes();
      // Create a new DefaultValueAttribute object for the GroupName
      // property.
      DefaultValueAttribute newDefault = 
      new DefaultValueAttribute("Team1");
      soapAtts.SoapDefaultValue = newDefault;

      mySoapAttributeOverrides.Add(typeof(Group), "GroupName", 
      soapAtts);
      
      // Create an XmlTypeMapping that is used to create an instance 
      // of the XmlSerializer. Then return the XmlSerializer object.
      XmlTypeMapping myMapping = (new SoapReflectionImporter(
      mySoapAttributeOverrides)).ImportTypeMapping(typeof(Group));
    
      XmlSerializer ser = new XmlSerializer(myMapping);
      return ser;
   }
}
开发者ID:.NET开发者,项目名称:System.Xml.Serialization,代码行数:120,代码来源:SoapAttributes.SoapDefaultValue


注:本文中的System.Xml.Serialization.SoapAttributes.SoapDefaultValue属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。