ConfigurationElement.IsModified Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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
Devoluciones
true
si el elemento se ha modificado; en caso contrario, false
.
Ejemplos
En el ejemplo siguiente se muestra cómo extender 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 que se muestra en el ejemplo anterior cuando se modifica un elemento de configuración, como en el ejemplo siguiente.
// 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 IsModified método determina si este ConfigurationElement objeto se escribirá en el archivo de configuración cuando se llame al Save método . Si el valor devuelto es false
, se presupone que el archivo de configuración representa el estado actual del elemento.
De forma predeterminada, IsModified devuelve true
después de establecer una propiedad a través del indizador en este ConfigurationElement objeto.
Invalide el IsModified método para proporcionar una indicación personalizada del estado de este ConfigurationElement elemento.