Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / DataKeyArray.cs / 1 / DataKeyArray.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class DataKeyArray : ICollection, IStateManager { private ArrayList _keys; private bool _isTracking; ////// public DataKeyArray(ArrayList keys) { this._keys = keys; } ///Initializes a new instance of the ///class. /// public int Count { get { return _keys.Count; } } ///Gets the number of objects in the collection. This property is read-only. ////// public bool IsReadOnly { get { return false; } } ///Gets the value that specifies whether items in the ///can be /// modified. This property is read-only. /// public bool IsSynchronized { get { return false; } } ///Gets a value that indicates whether the ///is /// thread-safe. This property is read-only. /// public object SyncRoot { get { return this; } } ///Gets the object used to synchronize access to the collection. This property is read-only. ////// public DataKey this[int index] { get { return _keys[index] as DataKey; } } ///Gets a ///at the specified index in the collection. This property is read-only. /// public void CopyTo(DataKey[] array, int index) { ((ICollection)this).CopyTo(array, index); } ///Copies the contents of the entire collection into an ///appending at /// the specified index of the . void ICollection.CopyTo(Array array, int index) { for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) array.SetValue(e.Current, index++); } /// /// public IEnumerator GetEnumerator() { return _keys.GetEnumerator(); } #region IStateManager implementation ///Creates an enumerator for the ///used to iterate /// through the collection. bool IStateManager.IsTrackingViewState { get { return _isTracking; } } /// void IStateManager.LoadViewState(object state) { if (state != null) { object[] keysState = (object[])state; for (int i = 0; i < keysState.Length; i++) { if (keysState[i] != null) { ((IStateManager)_keys[i]).LoadViewState(keysState[i]); } } } } /// object IStateManager.SaveViewState() { int keyCount = _keys.Count; object[] keysState = new object[keyCount]; bool savedState = false; for (int i = 0; i < keyCount; i++) { keysState[i] = ((IStateManager)_keys[i]).SaveViewState(); if (keysState[i] != null) savedState = true; } return savedState ? keysState : null; } /// void IStateManager.TrackViewState() { _isTracking = true; int keyCount = _keys.Count; for (int i = 0; i < keyCount; i++) { ((IStateManager)_keys[i]).TrackViewState(); } } #endregion } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ManifestResourceInfo.cs
- ProvidePropertyAttribute.cs
- ExpandCollapsePattern.cs
- TypeInitializationException.cs
- BaseProcessor.cs
- PropertyChangedEventArgs.cs
- XmlSchema.cs
- ComponentCollection.cs
- SuppressIldasmAttribute.cs
- SqlRetyper.cs
- CompareInfo.cs
- KeyValuePairs.cs
- SpellerError.cs
- SecurityDocument.cs
- ListViewInsertedEventArgs.cs
- ImageMap.cs
- Membership.cs
- DebugView.cs
- UrlSyndicationContent.cs
- TextEndOfParagraph.cs
- Point3DKeyFrameCollection.cs
- HtmlInputImage.cs
- AppSettings.cs
- ColumnCollection.cs
- HtmlCommandAdapter.cs
- ByteStorage.cs
- ClientTargetCollection.cs
- KeyTime.cs
- KnownIds.cs
- SchemaNamespaceManager.cs
- HwndSourceParameters.cs
- DetailsViewRow.cs
- GregorianCalendar.cs
- StylusPointProperties.cs
- PersistenceTypeAttribute.cs
- HtmlValidatorAdapter.cs
- ResourceCategoryAttribute.cs
- BindingNavigator.cs
- XPathItem.cs
- RequestResponse.cs
- StringValueSerializer.cs
- FontUnit.cs
- DragStartedEventArgs.cs
- Point3DAnimationUsingKeyFrames.cs
- XmlTextEncoder.cs
- XmlSchemaException.cs
- CharUnicodeInfo.cs
- XamlDesignerSerializationManager.cs
- UITypeEditors.cs
- ElementUtil.cs
- OdbcParameterCollection.cs
- OrderByBuilder.cs
- RelationalExpressions.cs
- WebServiceClientProxyGenerator.cs
- GeneralTransformCollection.cs
- ResourceAssociationTypeEnd.cs
- DocumentViewerHelper.cs
- COM2EnumConverter.cs
- DataPointer.cs
- ExceptionHandlersDesigner.cs
- SmtpFailedRecipientsException.cs
- SafeNativeMethods.cs
- QueryExpr.cs
- Content.cs
- MachinePropertyVariants.cs
- InkCanvasAutomationPeer.cs
- CodeIterationStatement.cs
- EnumerableWrapperWeakToStrong.cs
- DesignOnlyAttribute.cs
- ParserContext.cs
- ListMarkerLine.cs
- PeerResolverElement.cs
- CompilationLock.cs
- CommandID.cs
- CommonGetThemePartSize.cs
- _ContextAwareResult.cs
- PersonalizationState.cs
- GroupQuery.cs
- SerializationHelper.cs
- GraphicsContext.cs
- IdentityReference.cs
- CompilerGlobalScopeAttribute.cs
- panel.cs
- DataBoundControlAdapter.cs
- CodeSubDirectoriesCollection.cs
- ByteAnimationUsingKeyFrames.cs
- DesignerActionService.cs
- DesignerHost.cs
- ApplicationBuildProvider.cs
- ProfileService.cs
- CaretElement.cs
- GenericUriParser.cs
- MenuItemCollection.cs
- EndpointIdentityConverter.cs
- StoragePropertyMapping.cs
- DSASignatureDeformatter.cs
- HitTestParameters.cs
- System.Data_BID.cs
- DataListDesigner.cs
- PageSettings.cs