ConfigurationElement.IsModified Méthode

Définition

Indique si cet élément de configuration a été modifié depuis son dernier enregistrement ou chargement lorsqu'il est implémenté dans une classe dérivée.

C#
protected virtual bool IsModified ();
C#
protected internal virtual bool IsModified ();

Retours

true si l'élément a été modifié ; sinon, false.

Exemples

L’exemple suivant montre comment étendre IsModified.

C#
protected override bool IsModified()
{
    bool ret = base.IsModified();
    // You can enter your custom processing code here.
    return ret;
}

La méthode illustrée dans l’exemple précédent est appelée lorsqu’un élément de configuration est modifié, comme dans l’exemple suivant.

C#
// Show how to use IsModified.
// This method modifies the port property
// of the url element named Microsoft and
// saves the modification to the configuration
// file. This in turn will cause the overriden
// UrlConfigElement.IsModified() mathod to be called. 
static void ModifyElement()
{
    try
    {
        // Get the configuration file.
        System.Configuration.Configuration config =
            ConfigurationManager.OpenExeConfiguration(
            ConfigurationUserLevel.None);

        // Get the MyUrls section.
        UrlsSection myUrlsSection =
            config.GetSection("MyUrls") as UrlsSection;

        UrlsCollection elements = myUrlsSection.Urls;

        IEnumerator elemEnum =
            elements.GetEnumerator();

        int i = 0;
        while (elemEnum.MoveNext())
        {
            if (elements[i].Name == "Microsoft")
            {
                elements[i].Port = 1010;
                bool readOnly = elements[i].IsReadOnly();
                break;
            }
            i += 1;
        }

        if (!myUrlsSection.ElementInformation.IsLocked)
        {

            config.Save(ConfigurationSaveMode.Full);

            // This to obsolete the MyUrls cached 
            // section and read the updated version
            // from the configuration file.
            ConfigurationManager.RefreshSection("MyUrls");
        }
        else
            Console.WriteLine(
                "Section was locked, could not update.");
    }

    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine("[ModifyElement: {0}]",
            err.ToString());
    }
}

Remarques

La IsModified méthode détermine si cet ConfigurationElement objet sera écrit dans le fichier de configuration lorsque la Save méthode est appelée. Si la valeur de retour est false, le fichier de configuration représente normalement l'état actuel de l'élément.

Par défaut, IsModified retourne true une fois qu’une propriété a été définie via l’indexeur sur cet ConfigurationElement objet.

Remplacez la IsModified méthode pour fournir une indication personnalisée de l’état de cet ConfigurationElement élément.

S’applique à

Produit Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9