ConfigurationElement.IsModified ConfigurationElement.IsModified ConfigurationElement.IsModified ConfigurationElement.IsModified Method

定義

派生クラスに実装された場合、この構成要素が最後の保存または読み込み以降に変更されたかどうかを示します。Indicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class.

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

戻り値

要素が変更された場合は true。それ以外の場合は falsetrue if the element has been modified; otherwise, false.

次の例は、拡張する方法を示しますIsModifiedします。The following example shows how to extend 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 'UrlConfigElement 

次の例のように、構成要素が変更されたときに、前の例に示すようにメソッドが呼び出されます。The method shown in the previous example is called when a configuration element is modified, as in the following example.

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

注釈

IsModifiedメソッドを判断するかどうかこのConfigurationElement構成オブジェクトを書き込むファイル、Saveメソッドが呼び出されます。The IsModified method determines whether this ConfigurationElement object will be written to the configuration file when the Save method is called. 戻り値が false の場合、構成ファイルが要素の現在の状態を表していると見なされます。If the return value is false, it is assumed that the configuration file represents the current state of the element.

既定では、IsModified返しますtrueプロパティが、インデクサーによってこれを設定後ConfigurationElementオブジェクト。By default, IsModified returns true after a property is set through the indexer to this ConfigurationElement object.

上書き、IsModifiedこの状態のユーザー設定を示す値を提供するメソッドをConfigurationElement要素。Override the IsModified method to provide custom indication of the state of this ConfigurationElement element.

適用対象