/// <summary>Registers the object upon which events will be raised.</summary>
/// <param name="obj">The object to register.</param>
public void RegisterObject(object obj)
{
if (this.seen.Contains(obj))
{
return;
}
SerializationCallbacks sc = SerializationCallbacks.GetSerializationCallbacks(obj.GetType());
this.seen[obj] = 1;
sc.RaiseOnSerializing(obj, this.context);
if (sc.HasSerializedCallbacks)
{
this.callbacks = (SerializationCallbacks.CallbackHandler) Delegate.Combine(this.callbacks, new SerializationCallbacks.CallbackHandler(delegate(StreamingContext ctx)
{
sc.RaiseOnSerialized(obj, ctx);
}));
}
}