C# Serialization Example
This C# .NET example shows how to implement a user-defined Serializable object.
class User : IGeodeSerializable
{
private string m_name;
private int m_userId;
ExampleObject m_eo;
public User(string name, int userId)
{
m_name = name;
m_userId = userId;
m_eo = new ExampleObject();
}
public User()
{
m_name = string.Empty;
m_userId = 0;
m_eo = new ExampleObject();
}
public int UserId
{
get
{
return m_userId;
}
}
public string Name
{
get
{
return m_name;
}
}
public ExampleObject EO
{
get
{
return m_eo;
}
set
{
m_eo = value;
}
}
public override string ToString()
{
return string.Format("User: {0}, {1}\n{2}", m_userId, m_name,
m_eo.ToString());
}
// Our TypeFactoryMethod
public static IGeodeSerializable CreateInstance()
{
return new User();
}
#region IGeodeSerializable Members
public UInt32 ClassId()
{
get
{
return 45; // must match Java
}
}
public void FromData(DataInput input)
{
m_name = input.ReadUTF();
m_userId = input.ReadInt32();
m_eo.FromData(input);
return this;
}
public void ToData(DataOutput output)
{
output.writeUTF(m_name);
output.writeInt32(m_userId);
eo.ToData(output);
}
#endregion
}