ConfigurationElement.LockAttributes プロパティ

定義

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

C#
public System.Configuration.ConfigurationLockCollection LockAttributes { get; }

プロパティ値

要素のロックされている属性 (プロパティ) の ConfigurationLockCollection

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

C#
// 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());
    }
}

注釈

LockAttributesプロパティを使用すると、指定したすべての属性をロックできます。

そのためには、「例」セクションで説明されているように、 メソッドを使用 Contains します。

注意

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

注意 (継承者)

プロパティと LockAttributes プロパティをLockAllAttributesExcept同時に使用する場合は、最も制限の厳しい規則が適用されます。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

こちらもご覧ください