public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("name", name);
info.AddValue("type", type.AssemblyQualifiedName);
if (unit != null)
info.AddValue("unit", unit);
if (format != null)
info.AddValue("format", format);
if (implementations != null)
info.AddValue("implementations", implementations);
if (propertyRoutes != null)
{
if (propertyRoutes.Length == 1)
info.AddValue("propertyRoute", propertyRoutes.Single());
else
info.AddValue("propertyRoutes", propertyRoutes);
}
if (displayName != null)
info.AddValue("displayName", displayName);
}