ConfigurationElement.LockAttributes 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得已鎖定屬性的集合。
public:
property System::Configuration::ConfigurationLockCollection ^ LockAttributes { System::Configuration::ConfigurationLockCollection ^ get(); };
public System.Configuration.ConfigurationLockCollection LockAttributes { get; }
member this.LockAttributes : System.Configuration.ConfigurationLockCollection
Public ReadOnly Property LockAttributes As ConfigurationLockCollection
屬性值
此項目的已鎖定屬性 (Attribute) (Property) 的 ConfigurationLockCollection。
範例
下列範例將示範如何使用 LockAttributes 屬性。
// Show how to use LockAttributes.
// It locks and unlocks all the urls elements.
static void LockAttributes()
{
try
{
// Get the current configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Get the MyUrls section.
UrlsSection myUrlsSection =
config.GetSection("MyUrls") as UrlsSection;
if (myUrlsSection == null)
{
Console.WriteLine("Failed to load UrlsSection.");
}
else
{
IEnumerator elemEnum =
myUrlsSection.Urls.GetEnumerator();
int i = 0;
while (elemEnum.MoveNext())
{
// Get the current element.
ConfigurationElement element =
myUrlsSection.Urls[i];
// Get the lock attributes collection of
// the current element.
ConfigurationLockCollection lockAttributes =
element.LockAttributes;
// Add or remove the lock on the attributes.
if (lockAttributes.Contains("name"))
lockAttributes.Remove("name");
else
lockAttributes.Add("name");
if (lockAttributes.Contains("url"))
lockAttributes.Remove("url");
else
lockAttributes.Add("url");
if (lockAttributes.Contains("port"))
lockAttributes.Remove("port");
else
lockAttributes.Add("port");
// Get the locket attributes.
string lockedAttributes =
lockAttributes.AttributeList;
Console.WriteLine(
"Element {0} Locked attributes list: {1}",
i.ToString(), lockedAttributes);
i += 1;
config.Save(ConfigurationSaveMode.Full);
}
}
}
catch (ConfigurationErrorsException e)
{
Console.WriteLine("[LockAttributes: {0}]",
e.ToString());
}
}
' Show how to use LockAttributes.
' It locks and unlocks all the urls elements.
Shared Sub LockAttributes()
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")
If myUrlsSection Is Nothing Then
Console.WriteLine("Failed to load UrlsSection.")
Else
Dim elemEnum As IEnumerator = _
myUrlsSection.Urls.GetEnumerator()
Dim i As Integer = 0
While elemEnum.MoveNext()
' Get the current element.
Dim element As ConfigurationElement = _
myUrlsSection.Urls(i)
' Get the lock attributes collection of
' the current element.
Dim lockAttributes _
As ConfigurationLockCollection = _
element.LockAttributes
' Add or remove the lock on the attributes.
If lockAttributes.Contains("name") Then
lockAttributes.Remove("name")
Else
lockAttributes.Add("name")
End If
If lockAttributes.Contains("url") Then
lockAttributes.Remove("url")
Else
lockAttributes.Add("url")
End If
If lockAttributes.Contains("port") Then
lockAttributes.Remove("port")
Else
lockAttributes.Add("port")
End If
' Get the locket attributes.
Dim lockedAttributes As String = _
lockAttributes.AttributeList()
Console.WriteLine("Element {0} Locked attributes list: {1}", _
i.ToString(), lockedAttributes)
i += 1
config.Save(ConfigurationSaveMode.Full)
End While
End If
Catch e As ConfigurationErrorsException
Console.WriteLine("[LockAttributes: {0}]", _
e.ToString())
End Try
End Sub
備註
屬性 LockAttributes 可讓您鎖定您指定的所有屬性。
若要這樣做,請使用 Contains 方法,如範例一節所述。
注意
屬性 LockAttributes 可讓您防止套用規則之專案的子組態專案遭到修改。 如果您要將一般鎖定放在專案本身及其子元素上,請使用 LockItem 。
給繼承者的注意事項
如果您同時使用 LockAllAttributesExcept 和 LockAttributes 屬性,則會套用最嚴格的規則。