ConfigurationProperty Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir yapılandırma öğesinin özniteliğini veya alt öğesini temsil eder. Bu sınıf devralınamaz.
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.
public ref class ConfigurationProperty sealed
public sealed class ConfigurationProperty
type ConfigurationProperty = class
Public NotInheritable Class ConfigurationProperty
- Devralma
-
ConfigurationProperty
Örnekler
- Aşağıdaki kod örneği, özel bir bölüm oluşturduğunuzda öğesinin ConfigurationProperty nasıl kullanılacağını gösterir.
using System;
using System.Configuration;
using System.Collections;
using System.ComponentModel;
namespace ConfigurationPropertyExample
{
// Define a custom section.
// Shows how to use the ConfigurationProperty
// class when defining a custom section.
public sealed class CustomSection : ConfigurationSection
{
// The collection (property bag) that contains
// the section properties.
private static ConfigurationPropertyCollection _Properties;
// The FileName property.
private static ConfigurationProperty _FileName;
// The Alias property.
private static ConfigurationProperty _Alias;
// The MaxUsers property.
private static ConfigurationProperty _MaxUsers;
// The MaxIdleTime property.
private static ConfigurationProperty _MaxIdleTime;
// CustomSection constructor.
static CustomSection()
{
// Initialize the _FileName property
_FileName =
new ConfigurationProperty("fileName",
typeof(string), "default.txt");
// Initialize the _MaxUsers property
_MaxUsers =
new ConfigurationProperty("maxUsers",
typeof(long), (long)1000,
ConfigurationPropertyOptions.None);
// Initialize the _MaxIdleTime property
TimeSpan minTime = TimeSpan.FromSeconds(30);
TimeSpan maxTime = TimeSpan.FromMinutes(5);
ConfigurationValidatorBase _TimeSpanValidator =
new TimeSpanValidator(minTime, maxTime, false);
_MaxIdleTime =
new ConfigurationProperty("maxIdleTime",
typeof(TimeSpan), TimeSpan.FromMinutes(5),
TypeDescriptor.GetConverter(typeof(TimeSpan)),
_TimeSpanValidator,
ConfigurationPropertyOptions.IsRequired,
"[Description:This is the max idle time.]");
// Initialize the _Alias property
_Alias =
new ConfigurationProperty("alias",
typeof(string), "alias.txt");
// Initialize the Property collection.
_Properties = new ConfigurationPropertyCollection();
_Properties.Add(_FileName);
_Properties.Add(_Alias);
_Properties.Add(_MaxUsers);
_Properties.Add(_MaxIdleTime);
}
// Return the initialized property bag
// for the configuration element.
protected override ConfigurationPropertyCollection Properties
{
get
{
return _Properties;
}
}
// Clear the property.
public void ClearCollection()
{
Properties.Clear();
}
// Remove an element from the property collection.
public void RemoveCollectionElement(string elName)
{
Properties.Remove(elName);
}
// Get the property collection enumerator.
public IEnumerator GetCollectionEnumerator()
{
return (Properties.GetEnumerator());
}
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
MinLength = 1, MaxLength = 60)]
public string FileName
{
get
{
return (string)this["fileName"];
}
set
{
this["fileName"] = value;
}
}
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
MinLength = 1, MaxLength = 60)]
public string Alias
{
get
{
return (string)this["alias"];
}
set
{
this["alias"] = value;
}
}
[LongValidator(MinValue = 1, MaxValue = 1000000,
ExcludeRange = false)]
public long MaxUsers
{
get
{
return (long)this["maxUsers"];
}
set
{
this["maxUsers"] = value;
}
}
public TimeSpan MaxIdleTime
{
get
{
return (TimeSpan)this["maxIdleTime"];
}
set
{
this["maxIdleTime"] = value;
}
}
}
}
Imports System.Configuration
Imports System.Collections
Imports System.ComponentModel
' Define a custom section.
' Shows how to use the ConfigurationProperty
' class when defining a custom section.
Public NotInheritable Class CustomSection
Inherits ConfigurationSection
' The collection (property bag) that contains
' the section properties.
Private Shared _Properties As ConfigurationPropertyCollection
' The FileName property.
Private Shared _FileName As ConfigurationProperty
' The Alias property.
Private Shared _Alias As ConfigurationProperty
' The MasUsers property.
Private Shared _MaxUsers As ConfigurationProperty
' The MaxIdleTime property.
Private Shared _MaxIdleTime As ConfigurationProperty
' CustomSection constructor.
Shared Sub New()
' Initialize the _FileName property
_FileName = New ConfigurationProperty( _
"fileName", GetType(String), "default.txt")
' Initialize the _MaxUsers property
_MaxUsers = New ConfigurationProperty( _
"maxUsers", GetType(Long), 1000L, _
ConfigurationPropertyOptions.None)
' Initialize the _MaxIdleTime property
Dim minTime As TimeSpan = TimeSpan.FromSeconds(30)
Dim maxTime As TimeSpan = TimeSpan.FromMinutes(5)
Dim _TimeSpanValidator = _
New TimeSpanValidator(minTime, maxTime, False)
_MaxIdleTime = New ConfigurationProperty( _
"maxIdleTime", GetType(TimeSpan), _
TimeSpan.FromMinutes(5), _
TypeDescriptor.GetConverter(GetType(TimeSpan)), _
_TimeSpanValidator, _
ConfigurationPropertyOptions.IsRequired, _
"[Description:This is the max idle time.]")
' Initialize the _Alias property
_Alias = New ConfigurationProperty( _
"alias", GetType(String), "alias.txt")
' Property collection initialization.
' The collection (property bag) that contains
' the properties is declared as:
' ConfigurationPropertyCollection _Properties;
_Properties = New ConfigurationPropertyCollection()
_Properties.Add(_FileName)
_Properties.Add(_Alias)
_Properties.Add(_MaxUsers)
_Properties.Add(_MaxIdleTime)
End Sub
' Return the initialized property bag
' for the configuration element.
Protected Overrides ReadOnly Property Properties() _
As ConfigurationPropertyCollection
Get
Return _Properties
End Get
End Property
<StringValidator(InvalidCharacters:= _
" ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, _
MaxLength:=60)> _
Public Property FileName() As String
Get
Return CStr(Me("fileName"))
End Get
Set(ByVal value As String)
Me("fileName") = value
End Set
End Property
<StringValidator(InvalidCharacters:= _
" ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, _
MaxLength:=60)> _
Public Property [Alias]() As String
Get
Return CStr(Me("alias"))
End Get
Set(ByVal value As String)
Me("alias") = value
End Set
End Property
<LongValidator(MinValue:=1, _
MaxValue:=1000000, ExcludeRange:=False)> _
Public Property MaxUsers() As Long
Get
Return Fix(Me("maxUsers"))
End Get
Set(ByVal value As Long)
Me("maxUsers") = value
End Set
End Property
Public Property MaxIdleTime() As TimeSpan
Get
Return CType(Me("maxIdleTime"), TimeSpan)
End Get
Set(ByVal value As TimeSpan)
Me("maxIdleTime") = value
End Set
End Property
End Class
Aşağıda, önceki örnekte kod tarafından kullanılan yapılandırma dosyasının bir alıntısı verilmiştir.
<configuration>
<configSections>
<section name="CustomSection" type="ConfigurationPropertyExample.CustomSection, ConfigurationPropertyExample"
allowDefinition="Everywhere" allowExeDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<CustomSection fileName="override.txt" alias="alias.txt"
maxUsers="1000" maxIdleTime="00:05:00" />
</configuration>
Aşağıdaki örnekte kodda önceki bölümün nasıl oluşturulacağı gösterilmektedir.
// Define a custom section programmatically.
static void CreateSection()
{
try
{
CustomSection customSection;
// Get the current configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Create the section entry
// in the <configSections> and the
// related target section in <configuration>.
// Call it "CustomSection2" since the file in this
// example already has "CustomSection".
if (config.Sections["CustomSection"] == null)
{
customSection = new CustomSection();
config.Sections.Add("CustomSection2", customSection);
customSection.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
}
catch (ConfigurationErrorsException err)
{
Console.WriteLine(err.ToString());
}
}
' Create a custom section.
Shared Sub CreateSection()
Try
Dim customSection As CustomSection
' Get the current configuration file.
Dim config As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
' Create the section entry
' in the <configSections> and the
' related target section in <configuration>.
' Since the config file already has "CustomSection",
' call this one "CustomSection2".
If config.Sections("CustomSection") Is Nothing Then
customSection = New CustomSection()
config.Sections.Add("CustomSection", customSection)
customSection.SectionInformation.ForceSave = True
config.Save(ConfigurationSaveMode.Full)
End If
Catch err As ConfigurationErrorsException
Console.WriteLine(err.ToString())
End Try
End Sub
Açıklamalar
Bir sonraki örnekte gösterilen gibi CustomSection
basit ConfigurationElementbir durumunda, ConfigurationProperty nesneler gibi fileName
öznitelikleri temsil eder.
Örneğinauthentication
ConfigurationProperty, alt bölümleri içeren bir bölüm gibi daha karmaşık yapılandırma öğeleri söz konusu olduğunda, nesneler hem nesneleri hem de öznitelikleri temsil ConfigurationElement edebilir.
sınıfı, ConfigurationPropertyCollection bir yapılandırma öğesinin ConfigurationProperty öznitelikleri veya ConfigurationElement nesneleri olabilecek nesnelerin koleksiyonunu temsil eder.
sınıfı, ConfigurationProperty tek bir yapılandırma ayarını temsil eder. Bu sınıf, belirli bir yapılandırma varlığı (öznitelik veya öğe) için ad, tür ve varsayılan değeri almanıza veya ayarlamanıza ve özniteliğin gerekli olup olmadığını, bir öğe anahtarı olup olmadığını veya varsayılan öğe koleksiyonunu temsil edip etmediğini belirtmenize olanak tanır.
Devralanlara Notlar
Her ConfigurationElement nesne, öğe özniteliklerini veya bir alt öğe koleksiyonunu temsil eden bir iç ConfigurationPropertyCollectionConfigurationProperty nesne koleksiyonu oluşturur.
Özelleştirilebilir olmayan bilgiler ve işlevler özelliği tarafından sağlanan bir ElementInformation nesne tarafından ElementInformation barındırılır.
Özel bir yapılandırma öğesi oluşturmak için program aracılığıyla veya bildirim temelli (öznitelikli) bir kodlama modeli kullanabilirsiniz.
ProgramLı Model. Bu model, değerini almak ve/veya ayarlamak ve temel alınan ConfigurationElement temel sınıfın iç özellik paketine eklemek için her öğe özniteliği için bir özellik oluşturmanızı gerektirir.
Bildirim Temelli Model. Öznitelikli model olarak da adlandırılan bu daha basit model, bir özellik kullanarak bir öğe özniteliği tanımlamanızı ve özniteliklerle süslemenizi sağlar. Bu öznitelikler, ASP.NET yapılandırma sistemine özellik türleri ve varsayılan değerleri hakkında bilgi verir. Yansıma aracılığıyla elde edilen bu bilgilerle, ASP.NET yapılandırma sistemi sizin için öğe özelliği nesnelerini oluşturur ve gerekli başlatmayı gerçekleştirir.
Oluşturucular
ConfigurationProperty(String, Type) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationProperty sınıfının yeni bir örneğini başlatır. |
ConfigurationProperty(String, Type, Object) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationProperty sınıfının yeni bir örneğini başlatır. |
ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationProperty sınıfının yeni bir örneğini başlatır. |
ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationProperty sınıfının yeni bir örneğini başlatır. |
ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationProperty sınıfının yeni bir örneğini başlatır. |
Özellikler
Converter |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. TypeConverter Bunu ConfigurationProperty yapılandırma dosyasına yazmak üzere XML gösterimine dönüştürmek için kullanılan öğesini alır. |
DefaultValue |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bu ConfigurationProperty özellik için varsayılan değeri alır. |
Description |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ile ilişkili açıklamayı ConfigurationPropertyalır. |
IsAssemblyStringTransformationRequired |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. yapılandırma özelliğinin derleme adının, .NET Framework önceki bir sürümü için seri hale getirildiğinde dönüştürme gerektip gerektirmediğini gösterir. |
IsDefaultCollection |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. özelliğinin bir öğenin varsayılan koleksiyonu olup olmadığını belirten bir değer alır. |
IsKey |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bunun ConfigurationProperty , içeren ConfigurationElement nesnenin anahtarı olup olmadığını belirten bir değer alır. |
IsRequired |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bunun ConfigurationProperty gerekli olup olmadığını belirten bir değer alır. |
IsTypeStringTransformationRequired |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Yapılandırma özelliğinin tür adının, .NET Framework önceki bir sürümü için seri hale getirildiğinde dönüştürme gerektip gerektirmediğini gösterir. |
IsVersionCheckRequired |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Yapılandırma özelliğinin XML'de seri hale getirilip getirilmeyeceğini belirlemek için yapılandırma özelliğinin üst yapılandırma bölümünün serileştirme sırasında sorgulanıp sorgulanmadığını gösterir. |
Name |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bu ConfigurationPropertyöğesinin adını alır. |
Type |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Bu ConfigurationProperty nesnenin türünü alır. |
Validator |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. ConfigurationValidatorAttributeBu ConfigurationProperty nesneyi doğrulamak için kullanılan öğesini alır. |
Yöntemler
Equals(Object) |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir. Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |