public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info==null)
throw new ArgumentNullException("info");
base.GetObjectData( info, context );
info.AddValue(ActionName, m_action, typeof(SecurityAction));
info.AddValue(FirstPermissionThatFailedName, m_permissionThatFailed, typeof(String));
info.AddValue(DemandedName, m_demanded, typeof(String));
info.AddValue(GrantedSetName, m_granted, typeof(String));
info.AddValue(RefusedSetName, m_refused, typeof(String));
info.AddValue(DeniedName, m_denied, typeof(String));
info.AddValue(PermitOnlyName, m_permitOnly, typeof(String));
info.AddValue(Assembly_Name, m_assemblyName, typeof(AssemblyName));
info.AddValue(MethodName_Serialized, m_serializedMethodInfo, typeof(byte[]));
info.AddValue(MethodName_String, m_strMethodInfo, typeof(String));
info.AddValue(ZoneName, m_zone, typeof(SecurityZone));
info.AddValue(UrlName, m_url, typeof(String));
}
}