次の方法で共有


ConfigurationElement.LockAllElementsExcept プロパティ

定義

ロックされている要素のコレクションを取得します。

public:
 property System::Configuration::ConfigurationLockCollection ^ LockAllElementsExcept { System::Configuration::ConfigurationLockCollection ^ get(); };
public System.Configuration.ConfigurationLockCollection LockAllElementsExcept { get; }
member this.LockAllElementsExcept : System.Configuration.ConfigurationLockCollection
Public ReadOnly Property LockAllElementsExcept As ConfigurationLockCollection

プロパティ値

ロックされている要素の ConfigurationLockCollection

LockAllElementsExcept プロパティを使用する方法を次の例に示します。

// Show how to use LockAllElementsExcept.
// It locks and unlocks all the MyUrls elements 
// except urls.
static void LockAllElementsExcept()
{

    try
    {
        // Get the 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
        {

            // Get MyUrls section LockElements collection.
            ConfigurationLockCollection lockElementsExcept =
                myUrlsSection.LockAllElementsExcept;

            // Get MyUrls section LockElements collection 
            // enumerator.
            IEnumerator lockElementEnum =
                 lockElementsExcept.GetEnumerator();

            // Position the collection index.
            lockElementEnum.MoveNext();

            if (lockElementsExcept.Contains("urls"))
                // Remove the lock on all the ther elements.
                lockElementsExcept.Remove("urls");
            else
                // Add the lock on all the other elements 
                // but urls element.
                lockElementsExcept.Add("urls");

            config.Save(ConfigurationSaveMode.Full);
        }
    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine("[LockAllElementsExcept: {0}]",
            err.ToString());
    }
}
' Show how to use LockAllElementsExcept.
' It locks and unlocks all the MyUrls elements 
' except urls.
Shared Sub LockAllElementsExcept()

    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

            ' Get MyUrls section LockElements collection.
            Dim lockElementsExcept _
            As ConfigurationLockCollection = _
            myUrlsSection.LockAllElementsExcept

            ' Get MyUrls section LockElements collection 
            ' enumerator.
            Dim lockElementEnum As IEnumerator = _
            lockElementsExcept.GetEnumerator()

            ' Position the collection index.
            lockElementEnum.MoveNext()

            If lockElementsExcept.Contains("urls") Then
                ' Remove the lock on all the ther elements.
                lockElementsExcept.Remove("urls")
                ' Add the lock on all the other elements 
                ' but urls element.
            Else
                lockElementsExcept.Add("urls")
            End If

            config.Save(ConfigurationSaveMode.Full)
        End If
    Catch err As ConfigurationErrorsException
        Console.WriteLine("[LockAllElementsExcept: {0}]", _
        err.ToString())
    End Try

End Sub

注釈

LockAllElementsExceptプロパティを使用すると、指定した要素を除き、すべての要素を一度にロックできます。

注意

LockAllElementsExceptプロパティを使用すると、ルールを適用する要素の子構成要素が変更されないようにすることができます。 LockItem要素自体とその子要素に一般的なロックを設定する場合は、 プロパティを使用します。

適用対象

こちらもご覧ください