ConfigurationElement.IsModified Método
Definición
Indica si se ha modificado este elemento de configuración desde la última vez en que se guardo o cargó al implementarlo en una clase derivada.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
Devoluciones
true
si el elemento se ha modificado; de lo contrario, false
.true
if the element has been modified; otherwise, false
.
Ejemplos
En el ejemplo siguiente se muestra cómo extender 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
Se llama al método mostrado en el ejemplo anterior cuando se modifica un elemento de configuración, como en el ejemplo siguiente.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
Comentarios
El método IsModified determina si este objeto ConfigurationElement se escribirá en el archivo de configuración cuando se llame al método Save.The IsModified method determines whether this ConfigurationElement object will be written to the configuration file when the Save method is called. Si el valor devuelto es false
, se presupone que el archivo de configuración representa el estado actual del elemento.If the return value is false
, it is assumed that the configuration file represents the current state of the element.
De forma predeterminada, IsModified devuelve true
después de establecer una propiedad a través del indexador en este objeto ConfigurationElement.By default, IsModified returns true
after a property is set through the indexer to this ConfigurationElement object.
Invalide el método IsModified para proporcionar una indicación personalizada del estado de este elemento ConfigurationElement.Override the IsModified method to provide custom indication of the state of this ConfigurationElement element.