Category / Section
How can I serialize the custom property of a node?
2 mins read
Serialize custom property of a node
Essential Diagram supports the custom serialization. To serialize the custom property, you have to derive the Group class and create a custom node. You have to override GetObjectData() method and you can add the custom property in the SerializationInfo. Please refer to the below code snippet.
C#
[Serializable()] public class CustomNode : Group { protected CustomNode(SerializationInfo info, StreamingContext context) : base(info, context) { this.m_nodeInformation = info.GetString("strDescription"); } protected override void GetObjectData(SerializationInfo info, StreamingContext context) { base.GetObjectData(info, context); // Additional member variables are serialized here info.AddValue("strDescription", this.NodeInformation); } }
VB
<Serializable()> _ Public Class CustomNode Inherits Group Public Sub New() End Sub Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext) MyBase.New(info, context) Me.m_nodeInformation = info.GetString("strDescription") End Sub Protected Overrides Sub GetObjectData(ByVal info As SerializationInfo, ByVal context As StreamingContext) MyBase.GetObjectData(info, context) ' Additional member variables are serialized here info.AddValue("strDescription", Me.NodeInformation) End Sub End Class
Please refer to the attached sample that illustrates this.