/// <summary>
        /// /////////////////////////////////////////////
        /// </summary>
        /// <param name="serializer"></param>
        /// <returns></returns>
        public CResultAErreur Serialize(C2iSerializer serializer)
        {
            int            nVersion = GetNumVersion();
            CResultAErreur result   = serializer.TraiteVersion(ref nVersion);

            if (!result)
            {
                return(result);
            }

            int nVal = (int)TypeDeclencheur;

            serializer.TraiteInt(ref nVal);
            TypeDeclencheur = (TypeEvenement)nVal;

            if (nVersion <= 1)
            {
                result = serializer.TraiteObjetSimple(ref m_valeurOrigine);
                if (!result)
                {
                    return(result);
                }
            }
            else
            {
                object val = m_valeurOrigine;
                C2iSerializer.EnumTypeSimple typeSimple = C2iSerializer.GetTypeSimpleObjet(val);
                if (typeSimple == C2iSerializer.EnumTypeSimple.Inconnu)
                {
                    if (m_valeurOrigine != null)
                    {
                        val = m_valeurOrigine.ToString();
                    }
                    else
                    {
                        val = null;
                    }
                }
                result = serializer.TraiteObjetSimple(ref val);
            }

            serializer.TraiteString(ref m_strInfo);

            if (nVersion >= 1)
            {
                if (nVersion < 3)
                {
                    // TESTDBKEYOK
                    serializer.ReadDbKeyFromOldId(ref m_dbKeyEvenementDeclancheur, typeof(CEvenement));
                }
                else
                {
                    serializer.TraiteDbKey(ref m_dbKeyEvenementDeclancheur);
                }
            }

            return(result);
        }