public void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null || (context.State != StreamingContextStates.CrossAppDomain))
{
throw new ArgumentNullException("info");
}
info.AddValue("props", _props, typeof(IDictionary));
info.AddValue("delegate", _delegate, typeof(CrossContextDelegate));
info.AddValue("sourceCtxID", _sourceCtxID);
info.AddValue("targetCtxID", _targetCtxID);
info.AddValue("targetDomainID", _targetDomainID);
info.AddValue("eeData", _eeData);
}