ConfigurationElement.IsModified Metodo

Definizione

Indica se questo elemento di configurazione è stato modificato dopo l'ultimo salvataggio o caricamento durante l'implementazione in una classe derivata.

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

Restituisce

true se l'elemento è stato modificato; in caso contrario, false.

Esempio

Nell'esempio seguente viene illustrato come estendere IsModified.

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

Il metodo illustrato nell'esempio precedente viene chiamato quando viene modificato un elemento di configurazione, come nell'esempio seguente.

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());
    }
}

Commenti

Il IsModified metodo determina se questo ConfigurationElement oggetto verrà scritto nel file di configurazione quando viene chiamato il Save metodo. Se il valore restituito è false, si presuppone che il file di configurazione rappresenti lo stato corrente dell'elemento.

Per impostazione predefinita, IsModified restituisce true dopo che una proprietà viene impostata tramite l'indicizzatore su questo ConfigurationElement oggetto.

Eseguire l'override del IsModified metodo per fornire un'indicazione personalizzata dello stato di questo ConfigurationElement elemento.

Si applica a

Prodotto Versioni
.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