Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebParts / PersonalizationDictionary.cs / 1 / PersonalizationDictionary.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.Collections.Specialized; using System.Web.Util; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] // This class is unsealed so it can be extended by developers who extend the personalization infrastructure public class PersonalizationDictionary : IDictionary { private HybridDictionary _dictionary; public PersonalizationDictionary() { _dictionary = new HybridDictionary(/* caseInsensitive */ true); } public PersonalizationDictionary(int initialSize) { _dictionary = new HybridDictionary(initialSize, /* caseInsensitive */ true); } public virtual int Count { get { return _dictionary.Count; } } public virtual bool IsFixedSize { get { return false; } } public virtual bool IsReadOnly { get { return false; } } public virtual bool IsSynchronized { get { return false; } } public virtual ICollection Keys { get { return _dictionary.Keys; } } public virtual object SyncRoot { get { return this; } } public virtual ICollection Values { get { return _dictionary.Values; } } public virtual PersonalizationEntry this[string key] { get{ key = StringUtil.CheckAndTrimString(key, "key"); return (PersonalizationEntry)_dictionary[key]; } set { key = StringUtil.CheckAndTrimString(key, "key"); if (value == null) { throw new ArgumentNullException("value"); } _dictionary[key] = value; } } public virtual void Add(string key, PersonalizationEntry value) { key = StringUtil.CheckAndTrimString(key, "key"); if (value == null) { throw new ArgumentNullException("value"); } _dictionary.Add(key, value); } public virtual void Clear() { _dictionary.Clear(); } public virtual bool Contains(string key) { key = StringUtil.CheckAndTrimString(key, "key"); return _dictionary.Contains(key); } public virtual void CopyTo(DictionaryEntry[] array, int index) { _dictionary.CopyTo(array, index); } public virtual IDictionaryEnumerator GetEnumerator() { return _dictionary.GetEnumerator(); } public virtual void Remove(string key) { key = StringUtil.CheckAndTrimString(key, "key"); _dictionary.Remove(key); } internal void RemoveSharedProperties() { DictionaryEntry[] entries = new DictionaryEntry[Count]; CopyTo(entries, 0); foreach (DictionaryEntry entry in entries) { if (((PersonalizationEntry)entry.Value).Scope == PersonalizationScope.Shared) { Remove((string)entry.Key); } } } #region Implementation of IDictionary object IDictionary.this[object key] { get { if (!(key is string)) { throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key"); } return this[(string)key]; } set { if (value == null) { throw new ArgumentNullException("value"); } if (!(key is string)) { throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key"); } if (!(value is PersonalizationEntry)) { throw new ArgumentException(SR.GetString( SR.PersonalizationDictionary_MustBeTypePersonalizationEntry), "value"); } this[(string)key] = (PersonalizationEntry)value; } } void IDictionary.Add(object key, object value) { if (value == null) { throw new ArgumentNullException("value"); } if (!(key is string)) { throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key"); } if (!(value is PersonalizationEntry)) { throw new ArgumentException(SR.GetString( SR.PersonalizationDictionary_MustBeTypePersonalizationEntry), "value"); } Add((string)key, (PersonalizationEntry)value); } bool IDictionary.Contains(object key) { if (!(key is string)) { throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key"); } return Contains((string)key); } void IDictionary.Remove(object key) { if (!(key is string)) { throw new ArgumentException(SR.GetString(SR.PersonalizationDictionary_MustBeTypeString), "key"); } Remove((string)key); } #endregion #region Implementation of ICollection void ICollection.CopyTo(Array array, int index) { if (!(array is DictionaryEntry[])) { throw new ArgumentException( SR.GetString(SR.PersonalizationDictionary_MustBeTypeDictionaryEntryArray), "array"); } CopyTo((DictionaryEntry[])array, index); } #endregion #region Implementation of IEnumerable IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } #endregion } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PhysicalOps.cs
- TreeViewItem.cs
- LineServicesRun.cs
- DropDownList.cs
- PropertyTabChangedEvent.cs
- DataControlButton.cs
- CodeTypeConstructor.cs
- EndOfStreamException.cs
- MobileTemplatedControlDesigner.cs
- ButtonField.cs
- SoapAttributeAttribute.cs
- SerializerProvider.cs
- srgsitem.cs
- XmlImplementation.cs
- SeekStoryboard.cs
- RelatedEnd.cs
- XmlComment.cs
- Crc32.cs
- Brushes.cs
- ItemCheckedEvent.cs
- SystemEvents.cs
- NamedPipeProcessProtocolHandler.cs
- TypeSystemProvider.cs
- ConnectionManagementElement.cs
- NamedPermissionSet.cs
- GeometryModel3D.cs
- RewritingPass.cs
- QueryRewriter.cs
- BasicDesignerLoader.cs
- SamlAuthorizationDecisionClaimResource.cs
- externdll.cs
- SendingRequestEventArgs.cs
- Wildcard.cs
- Rotation3DAnimation.cs
- SmtpNtlmAuthenticationModule.cs
- StylusTouchDevice.cs
- Oci.cs
- AssociationSet.cs
- ApplicationInterop.cs
- HMACRIPEMD160.cs
- AdornerLayer.cs
- SynchronousChannelMergeEnumerator.cs
- InfiniteIntConverter.cs
- Point3DKeyFrameCollection.cs
- HtmlUtf8RawTextWriter.cs
- ZoneMembershipCondition.cs
- PersistenceTypeAttribute.cs
- WebPartConnectVerb.cs
- PageRequestManager.cs
- RotateTransform3D.cs
- AppDomainShutdownMonitor.cs
- DelayedRegex.cs
- SourceItem.cs
- FixedSOMFixedBlock.cs
- DurableRuntimeValidator.cs
- PopOutPanel.cs
- CapabilitiesUse.cs
- CallContext.cs
- XmlUnspecifiedAttribute.cs
- FrameworkElementFactoryMarkupObject.cs
- AssemblyAttributesGoHere.cs
- FormViewPagerRow.cs
- InputLanguage.cs
- GenericsNotImplementedException.cs
- BitmapEffectInput.cs
- DefaultAssemblyResolver.cs
- SHA256Managed.cs
- ImageButton.cs
- RowVisual.cs
- DataProtectionSecurityStateEncoder.cs
- FilterEventArgs.cs
- TypeSemantics.cs
- WindowsGraphics.cs
- SqlProfileProvider.cs
- FtpWebResponse.cs
- Clock.cs
- SortDescriptionCollection.cs
- Rectangle.cs
- DeviceSpecificDesigner.cs
- ZoneButton.cs
- ProfileSettings.cs
- ObjectView.cs
- HttpModuleCollection.cs
- listitem.cs
- CharacterBufferReference.cs
- DependencySource.cs
- ToolboxItemFilterAttribute.cs
- StringReader.cs
- SqlFunctionAttribute.cs
- AdornerHitTestResult.cs
- TableLayoutSettings.cs
- RIPEMD160Managed.cs
- ResXBuildProvider.cs
- SchemaInfo.cs
- GatewayDefinition.cs
- PenLineJoinValidation.cs
- UnsignedPublishLicense.cs
- WebPartEventArgs.cs
- WebPartCatalogAddVerb.cs
- ManifestResourceInfo.cs