ConfigurationElement.IsModified メソッド

定義

派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。

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

戻り値

要素が変更された場合は true、それ以外の場合は false

次の例は、 を拡張 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

前の例で示したメソッドは、次の例のように、構成要素が変更されたときに呼び出されます。

// 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

注釈

メソッドはIsModified、メソッドが呼び出されたときにSave、このConfigurationElementオブジェクトを構成ファイルに書き込むかどうかを決定します。 戻り値が false の場合、構成ファイルが要素の現在の状態を表していると見なされます。

既定では、 は、IsModifiedインデクサーを使用してこのConfigurationElementオブジェクトにプロパティを設定した後に を返trueします。

メソッドをオーバーライドして、 IsModified この ConfigurationElement 要素の状態をカスタムで示します。

適用対象