Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

ConfigurationProperty, classe

Cette API prend en charge l'infrastructure .NET Framework et n'est pas destinée à être utilisée directement à partir de votre code.

Représente un attribut ou un enfant d'un élément de configuration. Cette classe ne peut pas être héritée.

System.Object
  System.Configuration.ConfigurationProperty

Espace de noms :  System.Configuration
Assembly :  System.Configuration (dans System.Configuration.dll)
public sealed class ConfigurationProperty

Le type ConfigurationProperty expose les membres suivants.

  NomDescription
Méthode publiqueConfigurationProperty(String, Type)Initialise une nouvelle instance de la classe ConfigurationProperty.
Méthode publiqueConfigurationProperty(String, Type, Object)Initialise une nouvelle instance de la classe ConfigurationProperty.
Méthode publiqueConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions)Initialise une nouvelle instance de la classe ConfigurationProperty.
Méthode publiqueConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions)Initialise une nouvelle instance de la classe ConfigurationProperty.
Méthode publiqueConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String)Initialise une nouvelle instance de la classe ConfigurationProperty.
Début
  NomDescription
Propriété publiqueConverterObtient le TypeConverter utilisé pour convertir ce ConfigurationProperty en une représentation XML pour écrire dans le fichier de configuration.
Propriété publiqueDefaultValueObtient la valeur par défaut pour cette propriété ConfigurationProperty.
Propriété publiqueDescriptionObtient la description associée au ConfigurationProperty.
Propriété publiqueIsAssemblyStringTransformationRequiredIndique si le nom de l'assembly pour la propriété de configuration nécessite une transformation lorsque cette dernière est sérialisée pour une version antérieure du .NET Framework.
Propriété publiqueIsDefaultCollectionObtient une valeur indiquant si la propriété est la collection par défaut d'un élément.
Propriété publiqueIsKeyObtient une valeur indiquant si ce ConfigurationProperty est la clé de l'objet ConfigurationElement contenant.
Propriété publiqueIsRequiredObtient une valeur indiquant si ce ConfigurationProperty est requis.
Propriété publiqueIsTypeStringTransformationRequiredIndique si le nom de type pour la propriété de configuration nécessite une transformation lorsque cette dernière est sérialisée pour une version antérieure du .NET Framework.
Propriété publiqueIsVersionCheckRequiredIndique si la section de configuration parente de la propriété de configuration est interrogée lors de la sérialisation afin de déterminer si la propriété de configuration doit être sérialisée en XML.
Propriété publiqueNameObtient le nom de ce ConfigurationProperty.
Propriété publiqueTypeObtient le type de cet objet ConfigurationProperty.
Propriété publiqueValidatorObtient ConfigurationValidatorAttribute, lequel est utilisé pour valider cet objet ConfigurationProperty.
Début
  NomDescription
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

Dans le cas d'un ConfigurationElement simple, tel que le CustomSection affiché dans l'exemple suivant, les objets ConfigurationProperty représentent des attributs, tels que fileName.

Dans le cas d'éléments de configuration plus complexes (tels qu'une section qui contient des sous-sections, par exemple authentication), les objets ConfigurationProperty peuvent représenter des objets ConfigurationElement aussi bien que des attributs.

La classe ConfigurationPropertyCollection représente la collection des objets ConfigurationProperty qui peuvent être des attributs ou des objets ConfigurationElement d'un élément de configuration.

La classe ConfigurationProperty représente un paramètre de configuration individuel. Cette classe vous permet d'obtenir ou de définir le nom, le type et la valeur par défaut d'une entité de configuration particulière (attribut ou élément) et de spécifier si l'attribut est requis, est un élément clé ou représente une collection d'éléments par défaut.

Remarques à l'attention des implémenteurs

Chaque objet ConfigurationElement crée une collection ConfigurationPropertyCollection interne d'objets ConfigurationProperty qui représentent soit les attributs de l'élément, soit une collection d'éléments enfants.

Les informations et les fonctionnalités non personnalisables sont stockées dans un objet ElementInformation fourni par la propriété ElementInformation.

Vous pouvez utiliser un modèle de codage déclaratif (attribué) ou de programmation pour créer un élément de configuration personnalisé.

  • Modèle de programmation. Ce modèle nécessite la création d'une propriété pour chaque attribut d'élément afin d'obtenir et/ou définir sa valeur et de l'ajouter au sac de propriétés interne de la classe de base ConfigurationElement sous-jacente.

  • Modèle déclaratif. Ce modèle plus simple, également appelé modèle attribué, vous permet de définir un attribut d'élément au moyen d'une propriété et de le décorer avec des attributs. Ces attributs donnent au système de configuration ASP.NET des informations sur les types de propriété et leurs valeurs par défaut. Avec ces informations, obtenues par réflexion, le système de configuration ASP.NET crée pour vous les objets de propriétés d'éléments et exécute l'initialisation requise.

  1. L'exemple de code suivant montre comment utiliser ConfigurationProperty lorsque vous créez une section personnalisée.


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;
            }
        }
    }
}


L'exemple suivant est un extrait du fichier de configuration utilisé par le code de l'exemple précédent.


<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>


L'exemple suivant montre comment créer la section précédente du code.


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


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.