當前位置: 首頁>>代碼示例>>C#>>正文


C# StringReader.Deserialize方法代碼示例

本文整理匯總了C#中System.IO.StringReader.Deserialize方法的典型用法代碼示例。如果您正苦於以下問題:C# StringReader.Deserialize方法的具體用法?C# StringReader.Deserialize怎麽用?C# StringReader.Deserialize使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.IO.StringReader的用法示例。


在下文中一共展示了StringReader.Deserialize方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: deserialize

    public void deserialize()
    {
      Assert.Throws<ArgumentNullException>(() => XmlExtensions.Deserialize<object>(null));
      Assert.Throws<InvalidOperationException>(() => new StringReader(string.Empty).XmlReader(true).Deserialize<object>());

      var serialized = Guid.NewGuid().ToString();
      var xml = new StringWriter().Do(writer =>
      {
        new XmlSerializer(serialized.GetType()).Serialize(writer, serialized);
        return writer.ToString();
      });
      
      var xmlReader = new StringReader(xml);
      using (var reader = new StringReader(xml).XmlReader(true))
      {
        var deserialized = reader.Deserialize(serialized.GetType());
        Assert.False(ReferenceEquals(serialized, deserialized));
        Assert.Equal(serialized, deserialized);
      }
      xmlReader.ReadToEnd();
      xmlReader.Close();

      xmlReader = new StringReader(xml);
      using (var reader = xmlReader.XmlReader(true))
      {
        var deserialized = reader.Deserialize(serialized.GetType());
        Assert.False(ReferenceEquals(serialized, deserialized));
        Assert.Equal(serialized, deserialized);
        Assert.False(reader.Read());
        Assert.Equal(-1, xmlReader.Read());
      }

      Assert.Equal(serialized, new StringReader(xml).XmlReader(true).Deserialize<string>());
    }
開發者ID:prokhor-ozornin,項目名稱:Catharsis.NET.Commons,代碼行數:34,代碼來源:XmlExtensionsTest.cs


注:本文中的System.IO.StringReader.Deserialize方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。