/// <summary> /// Récupérer une propriété /// </summary> /// <param name="Nom"></param> /// <returns></returns> public ePropriete RecupererPropriete(String Nom) { Log.Methode(cNOMCLASSE); ePropriete Propriete = new ePropriete(); if (Propriete.Init(this, Nom)) return Propriete; return null; }
/// <summary> /// Méthode interne /// Renvoi la liste des propriétés filtrée par les arguments /// Si NomARechercher est vide, toutes les propriétés sont renvoyées /// </summary> /// <param name="NomARechercher"></param> /// <returns></returns> public ArrayList ListeDesProprietes(String NomARechercher = "") { Log.Methode(cNOMCLASSE); ArrayList pListeProps = new ArrayList(); if (_SwGestDeProprietes.Count > 0) { foreach (String pNom in _SwGestDeProprietes.GetNames()) { ePropriete Prop = new ePropriete(); if (Prop.Init(this, pNom) && Regex.IsMatch(pNom, NomARechercher)) pListeProps.Add(Prop); } } return pListeProps; }
/// <summary> /// Teste l'existence d'une propriété /// </summary> /// <param name="Nom"></param> /// <returns></returns> public Boolean ProprieteExiste(String Nom) { ePropriete pProp = new ePropriete(); return pProp.Init(this, Nom); }
/// <summary> /// Ajouter une propriété /// </summary> /// <param name="Nom"></param> /// <param name="TypePropriete"></param> /// <param name="Expression"></param> /// <param name="EcraserExistante"></param> /// <returns></returns> public ePropriete AjouterPropriete(String Nom, swCustomInfoType_e TypePropriete, String Expression, Boolean EcraserExistante = false) { Log.Methode(cNOMCLASSE); // Si on écrase, on supprime la propriété if (EcraserExistante) _SwGestDeProprietes.Delete(Nom); // On la récupère ePropriete Propriete = RecupererPropriete(Nom); // Si elle n'existe pas on la crée et on lui assigne l'expression if (Propriete == null) { _SwGestDeProprietes.Add2(Nom, (int)TypePropriete, Expression); Propriete = new ePropriete(); Propriete.Init(this, Nom); } // Si tout est ok, on la renvoi if (Propriete.EstInitialise) return Propriete; return null; }