Articles in this section
Category / Section

How to serialize and de-serialize string in WinForms DockingManager?

1 min read

In AppStateSerializer, you can serialize and de-serialize string in XMLFmtStream SerializationMode by using the following steps in WinForms Docking Manager.

  • Format the String value in UTF8Encoding format.
  • Serialize the string through stream, so the position of the stream is at the end after serialization.
  • For proper de-serialization process, reset the stream position to 0.

The following code example illustrates the same.

C#

//Serialization
using (var stream = new MemoryStream())
{
    var state2 = new Syncfusion.Runtime.Serialization.AppStateSerializer(SerializeMode.XMLFmtStream, stream);
    state2.SerializeObject("hi", "test1");
    state2.PersistNow();
    byte[] byteArray = stream.GetBuffer();
    UTF8Encoding utf8 = new UTF8Encoding();
    text = utf8.GetString(byteArray);
}
//Deserialization
using (var stream = new MemoryStream())
{
    using (var writer = new StreamWriter(stream))
    {
        byte[] bArray = new UTF8Encoding(true).GetBytes(text);
        stream.Write(bArray, 0, bArray.Length);
        //When AppStateSerializer reads the position, being at end.
        //To set the stream position to 0 to load correctly
        stream.Position = 0;
        var state2 = new Syncfusion.Runtime.Serialization.AppStateSerializer(SerializeMode.XMLFmtStream, stream);
        var deserializeObject = state2.DeserializeObject("hi");
        MessageBox.Show(deserializeObject as String, "Found in Memory Stream");
    }
}

VB

'Serialization
Using stream = New MemoryStream()
    Dim state2 = New Syncfusion.Runtime.Serialization.AppStateSerializer(SerializeMode.XMLFmtStream, stream)
    state2.SerializeObject("hi", "test1")
    state2.PersistNow()
    Dim byteArray() As Byte = stream.GetBuffer()
    Dim utf8 As New UTF8Encoding()
    text = utf8.GetString(byteArray)
End Using
'Deserialization
Using stream = New MemoryStream()
    Using writer = New StreamWriter(stream)
        Dim bArray() As Byte = New UTF8Encoding(True).GetBytes(text)
        stream.Write(bArray, 0, bArray.Length)
        'When AppStateSerializer reads the position, being at end.
        'To set the stream position to 0 to load correctly
        stream.Position = 0
        Dim state2 = New Syncfusion.Runtime.Serialization.AppStateSerializer(SerializeMode.XMLFmtStream, stream)
        Dim deserializeObject = state2.DeserializeObject("hi")
        MessageBox.Show(TryCast(deserializeObject, String), "Found in Memory Stream")
    End Using
End Using

Sample:

https://www.syncfusion.com/downloads/support/directtrac/general/AppStateSerializer-1567828321.zip

Conclusion

I hope you enjoyed learning on how to serialize and de-serialize the string using  XMLFmtStream SerializeMode in AppStateSerializer.

You can refer to our WinForms DockingManager feature tour page to know about its other groundbreaking feature representations. You can also explore our documentation to understand how to present and manipulate data.

For current customers, you can check out our WinForms DockingManager and other WinForms components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our WPF
other components.

If you have any queries or require clarifications, please let us know in comments below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied