KeyValueConfigurationCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含 KeyValueConfigurationElement 物件的集合。
public ref class KeyValueConfigurationCollection : System::Configuration::ConfigurationElementCollection
[System.Configuration.ConfigurationCollection(typeof(System.Configuration.KeyValueConfigurationElement))]
public class KeyValueConfigurationCollection : System.Configuration.ConfigurationElementCollection
[<System.Configuration.ConfigurationCollection(typeof(System.Configuration.KeyValueConfigurationElement))>]
type KeyValueConfigurationCollection = class
inherit ConfigurationElementCollection
Public Class KeyValueConfigurationCollection
Inherits ConfigurationElementCollection
- 繼承
- 屬性
範例
下列程式代碼範例示範如何使用 KeyValueConfigurationCollection 類型。
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
namespace Samples.Aspnet.Config
{
class KeyValueConfigCollection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "/aspnet";
// Get the Web application configuration object.
Configuration config =
WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
AppSettingsSection configSection =
(AppSettingsSection)config.GetSection
("appSettings");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name.ToString());
Console.WriteLine();
// Create the KeyValueConfigurationElement.
KeyValueConfigurationElement myAdminKeyVal =
new KeyValueConfigurationElement(
"myAdminTool", "admin.aspx");
// Determine if the configuration contains
// any KeyValueConfigurationElements.
KeyValueConfigurationCollection configSettings =
config.AppSettings.Settings;
if (configSettings.AllKeys.Length == 0)
{
// Add KeyValueConfigurationElement to collection.
config.AppSettings.Settings.Add(myAdminKeyVal);
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
// Get the KeyValueConfigurationCollection
// from the configuration.
KeyValueConfigurationCollection settings =
config.AppSettings.Settings;
// Display each KeyValueConfigurationElement.
foreach (KeyValueConfigurationElement keyValueElement in settings)
{
Console.WriteLine("Key: {0}", keyValueElement.Key);
Console.WriteLine("Value: {0}", keyValueElement.Value);
Console.WriteLine();
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait
Console.ReadLine();
}
}
}
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Web
Imports System.Web.Configuration
Namespace Samples.Aspnet.Config
Class KeyValueConfigCollection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = "/aspnet"
' Get the Web application configuration object.
Dim config As Configuration = _
WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As System.Configuration.AppSettingsSection = _
CType(config.GetSection("appSettings"), System.Configuration.AppSettingsSection)
' Dim configSection As AppSettingsSection = _
' (AppSettingsSection)config.GetSection("appSettings")
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", config.FilePath)
Console.WriteLine("Section Path: {0}", _
configSection.SectionInformation.Name.ToString())
Console.WriteLine()
' Create the KeyValueConfigurationElement.
Dim myAdminKeyVal As KeyValueConfigurationElement = _
New KeyValueConfigurationElement _
("myAdminTool", "admin.aspx")
' Determine if the configuration contains
' any KeyValueConfigurationElements.
Dim configSettings As KeyValueConfigurationCollection = _
config.AppSettings.Settings()
If configSettings.AllKeys.Length = 0 Then
' Add KeyValueConfigurationElement to collection.
config.AppSettings.Settings.Add(myAdminKeyVal)
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
End If
' Get the KeyValueConfigurationCollection
' from the configuration.
Dim settings As KeyValueConfigurationCollection = _
config.AppSettings.Settings()
' Display each KeyValueConfigurationElement.
Dim keyValueElement As KeyValueConfigurationElement
For Each keyValueElement In settings
Console.WriteLine("Key: {0}", keyValueElement.Key)
Console.WriteLine("Value: {0}", keyValueElement.Value)
Console.WriteLine()
Next
Catch e As System.ArgumentException
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
備註
這個類別代表配對的集合,其中每個配對都包含做為集合索引鍵和字串值的字串串。 因為第一個專案是索引鍵,所以它在整個集合中必須是唯一的。
建構函式
KeyValueConfigurationCollection() |
初始化 KeyValueConfigurationCollection 類別的新執行個體。 |
屬性
方法
明確介面實作
ICollection.CopyTo(Array, Int32) |
將 ConfigurationElementCollection 複製至陣列。 (繼承來源 ConfigurationElementCollection) |
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |