public override void GetObjectData(SerializationInfo info, StreamingContext context) {
if (info == null)
throw new ArgumentNullException("info");
base.GetObjectData(info, context);
info.AddValue("TypeLoadClassName", ClassName, typeof(String));
info.AddValue("TypeLoadAssemblyName", AssemblyName, typeof(String));
info.AddValue("TypeLoadMessageArg", MessageArg, typeof(String));
info.AddValue("TypeLoadResourceID", ResourceId);
}