Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

StateManagedCollection classe

 

Date de publication : mai 2016

Fournit une classe de base pour toutes les collections fortement typées qui gèrent des objets IStateManager.

Espace de noms:   System.Web.UI
Assembly:  System.Web (dans System.Web.dll)


public abstract class StateManagedCollection : IList, ICollection, 
	IEnumerable, IStateManager

NomDescription
System_CAPS_protmethodStateManagedCollection()

Initialise une nouvelle instance de la classe StateManagedCollection.

NomDescription
System_CAPS_pubpropertyCount

Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

NomDescription
System_CAPS_pubmethodClear()

Supprime tous les éléments de la collection StateManagedCollection.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copie les éléments de la collection StateManagedCollection dans un tableau, en commençant au niveau d'un index de tableau particulier.

System_CAPS_protmethodCreateKnownType(Int32)

En cas de substitution dans une classe dérivée, crée une instance d'une classe qui implémente IStateManager. Le type d'objet créé repose sur le membre spécifié de la collection retournée par la méthode GetKnownTypes.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetEnumerator()

Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_protmethodGetKnownTypes()

En cas de substitution dans une classe dérivée, obtient un tableau de types IStateManager que la collection StateManagedCollection peut contenir.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodOnClear()

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode Clear supprime tous les éléments de la collection.

System_CAPS_protmethodOnClearComplete()

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire une fois tous les éléments de la collection supprimés par la méthode Clear.

System_CAPS_protmethodOnInsert(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode IList.Insert ou IList.Add ajoute un élément à la collection.

System_CAPS_protmethodOnInsertComplete(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire après que la méthode IList.Insert ou IList.Add a ajouté un élément à la collection.

System_CAPS_protmethodOnRemove(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire avant que la méthode IList.Remove ou IList.RemoveAt supprime l'élément spécifié de la collection.

System_CAPS_protmethodOnRemoveComplete(Int32, Object)

En cas de substitution dans une classe dérivée, exécute une tâche supplémentaire après que la méthode IList.Remove ou IList.RemoveAt a supprimé l'élément spécifié de la collection.

System_CAPS_protmethodOnValidate(Object)

En cas de substitution dans une classe dérivée, valide un élément de la collection StateManagedCollection.

System_CAPS_pubmethodSetDirty()

Force la sérialisation de l'intégralité de la collection StateManagedCollection dans l'état d'affichage.

System_CAPS_protmethodSetDirtyObject(Object)

En cas de substitution dans une classe dérivée, commande à un object contenu dans la collection d'enregistrer l'intégralité de son état dans l'état d'affichage, plutôt que d'enregistrer uniquement des informations relatives aux modifications.

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

NomDescription
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Retourne un itérateur qui itère au sein de la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Add(Object)

Ajoute un élément à la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Clear()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Supprime tous les éléments de la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Contains(Object)

Détermine si la collection StateManagedCollection contient une valeur spécifique.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.IndexOf(Object)

Détermine l'index d'un élément spécifié de la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Insert(Int32, Object)

Insère un élément dans la collection StateManagedCollection au niveau de l'index spécifié.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.Remove(Object)

Supprime la première occurrence de l'objet spécifié dans la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIList.RemoveAt(Int32)

Supprime l'élément IStateManager au niveau de l'index spécifié.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.LoadViewState(Object)

Restaure l'état d'affichage précédemment enregistré de la collection StateManagedCollection et les éléments IStateManager qu'elle contient.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.SaveViewState()

Enregistre les modifications apportées à la collection StateManagedCollection et à chaque objet IStateManager qu'elle contient, depuis la publication de la page sur le serveur.

System_CAPS_pubinterfaceSystem_CAPS_privmethodIStateManager.TrackViewState()

Commande à la collection StateManagedCollection et à chacun des objets IStateManager qu'elle contient de procéder au suivi des modifications apportées à leur état d'affichage afin qu'ils puissent être rendus persistants au fil des requêtes d'une même page.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.Count

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient le nombre d'éléments contenus dans la collection StateManagedCollection.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.IsSynchronized

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient une valeur indiquant si la collection StateManagedCollection est synchronisée (thread-safe). Cette méthode retourne false dans tous les cas.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyICollection.SyncRoot

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient un objet qui peut être utilisé pour synchroniser l'accès à la collection StateManagedCollection. Cette méthode retourne null dans tous les cas.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsFixedSize

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient une valeur indiquant si la collection StateManagedCollection est de taille fixe. Cette méthode retourne false dans tous les cas.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.IsReadOnly

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient une valeur indiquant si la collection StateManagedCollection est en lecture seule.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIList.Item[Int32]

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Obtient l'élément IStateManager au niveau de l'index spécifié.

System_CAPS_pubinterfaceSystem_CAPS_privpropertyIStateManager.IsTrackingViewState

Obtient une valeur indiquant si la collection StateManagedCollection enregistre les modifications apportées à son état d'affichage.

NomDescription
System_CAPS_pubmethodAsParallel()

Surchargé. Active la parallélisation d'une requête.(Défini par ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Surchargé. Convertit un IEnumerable à un IQueryable.(Défini par Queryable.)

System_CAPS_pubmethodCast<TResult>()

Convertit les éléments d’un IEnumerable au type spécifié.(Défini par Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtre les éléments d’un IEnumerable basé sur un type spécifié.(Défini par Enumerable.)

The T:System.Web.UI.StateManagedCollection class is the base class for all strongly typed collections that store T:System.Web.UI.IStateManager elements, including T:System.Web.UI.WebControls.DataControlFieldCollection, T:System.Web.UI.WebControls.ParameterCollection, T:System.Web.UI.WebControls.StyleCollection, T:System.Web.UI.WebControls.TreeNodeBindingCollection, and others. The T:System.Web.UI.StateManagedCollection collection manages its own state as well as the state of the elements it contains. Therefore, a call to M:System.Web.UI.StateManagedCollection.System#Web#UI#IStateManager#SaveViewState saves the state of the collection and the state of all the elements currently contained by the collection.

The most important methods to consider when deriving from the T:System.Web.UI.StateManagedCollection class are M:System.Web.UI.StateManagedCollection.CreateKnownType(System.Int32), M:System.Web.UI.StateManagedCollection.GetKnownTypes, M:System.Web.UI.StateManagedCollection.OnValidate(System.Object), M:System.Web.UI.StateManagedCollection.SetDirty, and M:System.Web.UI.StateManagedCollection.SetDirtyObject(System.Object). The M:System.Web.UI.StateManagedCollection.CreateKnownType(System.Int32) and M:System.Web.UI.StateManagedCollection.GetKnownTypes methods are used to store an index in view state for the type of a contained element. Storing an index rather than a fully qualified type name improves performance. The M:System.Web.UI.StateManagedCollection.OnValidate(System.Object) method is called whenever elements of the collection are manipulated, and validates the elements according to business rules. Currently, the implementation of the M:System.Web.UI.StateManagedCollection.OnValidate(System.Object) method prohibits null objects from being stored in the collection; however, you can override this method to define your own validation behavior in a derived type. The M:System.Web.UI.StateManagedCollection.SetDirty method forces the entire collection to be serialized to view state, rather than just serializing changes made to state since the last time it was loaded. The M:System.Web.UI.StateManagedCollection.SetDirtyObject(System.Object) method is an abstract method you can implement to perform this same behavior at the element level.

System_CAPS_security Sécurité Remarque

StateManagedCollection stores assembly-qualified type names of the collection items in view state. A site visitor could decode the view state and retrieve the type name. If this scenario creates a security concern in your Web site, you can manually encrypt the type name before placing it in the view state.

The following code example demonstrates how to derive a strongly typed collection class from T:System.Web.UI.StateManagedCollection to contain T:System.Web.UI.IStateManager objects. In this example, the CycleCollection is derived to contain instances of the abstract Cycle class, which can be either Bicycle or Tricycle objects. The Cycle class implements the T:System.Web.UI.IStateManager interface because it stores the value of the CycleColor property in view state.

namespace Samples.AspNet.CS.Controls {

    using System;
    using System.Security.Permissions;
    using System.Collections;
    using System.ComponentModel;
    using System.Drawing;           
    using System.Web;
    using System.Web.UI;            
    //////////////////////////////////////////////////////////////
    //
    // The strongly typed CycleCollection class is a collection
    // that contains Cycle class instances, which implement the
    // IStateManager interface.
    //
    //////////////////////////////////////////////////////////////
    [AspNetHostingPermission(SecurityAction.Demand, 
        Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class CycleCollection : StateManagedCollection {

        private static readonly Type[] _typesOfCycles 
            = new Type[] { typeof(Bicycle), typeof(Tricycle) };

        protected override object CreateKnownType(int index) {
            switch(index) {
                case 0:
                    return new Bicycle();
                case 1:
                    return new Tricycle();                    
                default:
                    throw new ArgumentOutOfRangeException("Unknown Type");
            }            
        }

        protected override Type[] GetKnownTypes() {
            return _typesOfCycles;
        }

        protected override void SetDirtyObject(object o) {
            ((Cycle)o).SetDirty();
        }

    }
    //////////////////////////////////////////////////////////////
    //
    // The abstract Cycle class represents bicycles and tricycles.
    //
    //////////////////////////////////////////////////////////////
    public abstract class Cycle : IStateManager {

        protected internal Cycle(int numWheels) : this(numWheels, "Red"){ }

        protected internal Cycle(int numWheels, String color) {    
            numberOfWheels = numWheels;
            CycleColor = color;
        }

        private int numberOfWheels = 0;
        public int NumberOfWheels {
            get { return numberOfWheels; }
        }

        public string CycleColor {
            get { 
                object o = ViewState["Color"];
                return (null == o) ? String.Empty : o.ToString() ;
            }
            set {
                ViewState["Color"] = value;            
            }        
        }

        internal void SetDirty() {
            ViewState.SetDirty(true);
        }

        // Because Cycle does not derive from Control, it does not 
        // have access to an inherited view state StateBag object.
        private StateBag viewState;
        private StateBag ViewState {
            get {
                if (viewState == null) {
                    viewState = new StateBag(false);
                    if (isTrackingViewState) {
                        ((IStateManager)viewState).TrackViewState();
                    }
                }
                return viewState;
            }
        }

        // The IStateManager implementation.
        private bool isTrackingViewState;
        bool IStateManager.IsTrackingViewState {
            get {
                return isTrackingViewState;
            }
        }

        void IStateManager.LoadViewState(object savedState) {
            object[] cycleState = (object[]) savedState;

            // In SaveViewState, an array of one element is created.
            // Therefore, if the array passed to LoadViewState has 
            // more than one element, it is invalid.
            if (cycleState.Length != 1) {
                throw new ArgumentException("Invalid Cycle View State");
            }

            // Call LoadViewState on the StateBag object.
            ((IStateManager)ViewState).LoadViewState(cycleState[0]);
        }

        // Save the view state by calling the StateBag's SaveViewState
        // method.
        object IStateManager.SaveViewState() {
            object[] cycleState = new object[1];

            if (viewState != null) {
                cycleState[0] = ((IStateManager)viewState).SaveViewState();
            }
            return cycleState;
        }

        // Begin tracking view state. Check the private variable, because 
        // if the view state has not been accessed or set, then it is not  
        // being used and there is no reason to store any view state.
        void IStateManager.TrackViewState() {
            isTrackingViewState = true;
            if (viewState != null) {
                ((IStateManager)viewState).TrackViewState();
            }
        }        
    }

    public sealed class Bicycle : Cycle {

        // Create a red Cycle with two wheels.
        public Bicycle() : base(2) {}    
    }

    public sealed class Tricycle : Cycle {

        // Create a red Cycle with three wheels.
        public Tricycle() : base(3) {}
    }

}

.NET Framework
Disponible depuis 2.0

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: