ConfigurationElement.IsModified 메서드

정의

파생 클래스에서 구현될 때 이 구성 요소가 마지막으로 저장되거나 로드된 이후 수정되었는지 여부를 나타냅니다.Indicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class.

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입니다.true 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

이전 예에서 같이 메서드는 구성 요소 수정 되 면 다음 예제와 같이 호출 됩니다.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

설명

IsModified 메서드는 Save 메서드가 호출 될 때이 ConfigurationElement 개체가 구성 파일에 기록 되는지 여부를 결정 합니다.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는이 ConfigurationElement 개체에 대 한 인덱서를 통해 속성이 설정 된 후 true 반환 됩니다.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.

적용 대상