Sdílet prostřednictvím


ConfigurationElement.IsModified Metoda

Definice

Určuje, zda byl tento konfigurační prvek změněn od posledního uložení nebo načtení, když byl implementován v odvozené třídě.

protected:
 virtual bool IsModified();
protected public:
 virtual bool IsModified();
protected virtual bool IsModified ();
protected internal virtual bool IsModified ();
abstract member IsModified : unit -> bool
override this.IsModified : unit -> bool
Protected Overridable Function IsModified () As Boolean
Protected Friend Overridable Function IsModified () As Boolean

Návraty

truepokud byl prvek změněn; v opačném případě . false

Příklady

Následující příklad ukazuje, jak rozšířit IsModified.

protected override bool IsModified()
{
    bool ret = base.IsModified();
    // You can enter your custom processing code here.
    return ret;
}
    Protected Overrides Function IsModified() As Boolean
        Dim ret As Boolean = MyBase.IsModified()
        ' Enter your custom processing code here.
        Return ret

    End Function 'IsModified
End Class

Metoda zobrazená v předchozím příkladu se volá při změně elementu konfigurace, jako v následujícím příkladu.

// 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());
    }
}
' 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. 
Shared Sub ModifyElement()
    Try
        ' Get the current configuration file.
        Dim config _
        As System.Configuration.Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)

        ' Get the MyUrls section.
        Dim myUrlsSection As UrlsSection = _
        config.GetSection("MyUrls")


        Dim elements As UrlsCollection = _
        myUrlsSection.Urls


        Dim elemEnum As IEnumerator = _
        elements.GetEnumerator()

        Dim i As Integer = 0
        While elemEnum.MoveNext()
            If elements(i).Name = "Microsoft" Then
                elements(i).Port = 1010
                Dim [readOnly] As Boolean = _
                elements(i).IsReadOnly()
                Exit While
            End If
            i += 1
        End While

        If Not myUrlsSection.ElementInformation.IsLocked Then

            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.")
        End If

    Catch err As ConfigurationErrorsException
        Console.WriteLine("[ModifyElement: {0}]", _
        err.ToString())
    End Try

End Sub

Poznámky

Metoda IsModified určuje, zda bude tento ConfigurationElement objekt zapsán do konfiguračního souboru při Save zavolání metody. Pokud je falsenávratová hodnota , předpokládá se, že konfigurační soubor představuje aktuální stav elementu.

Ve výchozím nastavení IsModified vrátí true hodnotu po nastavení vlastnosti prostřednictvím indexeru na tento ConfigurationElement objekt.

Přepište metodu IsModified , která poskytuje vlastní indikaci stavu tohoto ConfigurationElement prvku.

Platí pro