ConfigurationElement.IsModified Metoda

Definicja

Wskazuje, czy ten element konfiguracji został zmodyfikowany od czasu ostatniego zapisania lub załadowania, gdy został zaimplementowany w klasie pochodnej.

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

Zwraca

true jeśli element został zmodyfikowany; w przeciwnym razie , false.

Przykłady

W poniższym przykładzie pokazano, jak rozszerzyć element IsModified.

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

Metoda pokazana w poprzednim przykładzie jest wywoływana, gdy element konfiguracji zostanie zmodyfikowany, jak w poniższym przykładzie.

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

Uwagi

Metoda IsModified określa, czy ten ConfigurationElement obiekt zostanie zapisany w pliku konfiguracji po wywołaniu Save metody. Jeśli zwracana wartość to false, zakłada się, że plik konfiguracji reprezentuje bieżący stan elementu.

Domyślnie IsModified zwraca wartość true po ustawieniu właściwości przez indeksator do tego ConfigurationElement obiektu.

Zastąpij metodę IsModified w celu podania niestandardowego wskazania stanu tego ConfigurationElement elementu.

Dotyczy

Produkt Wersje
.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