internal void CompleteISerializableObject(object obj, SerializationInfo info, StreamingContext context)
{
if (obj == null)
{
throw new ArgumentNullException(nameof(obj));
}
if (!(obj is ISerializable))
{
throw new ArgumentException(SR.Serialization_NotISer);
}
ConstructorInfo constInfo = null;
Type t = obj.GetType();
try
{
constInfo = GetDeserializationConstructor(t);
}
catch (Exception e)
{
throw new SerializationException(SR.Format(SR.Serialization_ConstructorNotFound, t), e);
}
constInfo.Invoke(obj, new object[] { info, context });
}