ConfigurationElement.IsModified Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, был ли изменен этот элемент конфигурации после последнего сохранения или загрузки при реализации в производном классе.
protected public:
virtual bool IsModified();
protected:
virtual bool IsModified();
protected internal virtual bool IsModified();
protected virtual bool IsModified();
abstract member IsModified : unit -> bool
override this.IsModified : unit -> bool
Protected Friend Overridable Function IsModified () As Boolean
Protected 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 определяет, будет ли этот ConfigurationElement объект записан в файл конфигурации при вызове Save метода. Если возвращаемое значение равно false, предполагается, что файл конфигурации представляет текущее состояние элемента.
По умолчанию IsModified возвращается true после задания свойства с помощью индексатора для этого ConfigurationElement объекта.
Переопределите IsModified метод, чтобы указать пользовательское указание состояния этого ConfigurationElement элемента.