Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebParts / PersonalizationDictionary.cs / 1305376 / 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; // 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 } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DesignerPainter.cs
- QilStrConcatenator.cs
- BaseDataList.cs
- PrintingPermissionAttribute.cs
- CellTreeNode.cs
- AddingNewEventArgs.cs
- GridProviderWrapper.cs
- XmlValidatingReaderImpl.cs
- ToolStripItemClickedEventArgs.cs
- LogicalExpr.cs
- SiteMembershipCondition.cs
- WindowsListViewItemCheckBox.cs
- ObjectDataSourceFilteringEventArgs.cs
- ToolBarTray.cs
- ContainsSearchOperator.cs
- XmlValueConverter.cs
- FileStream.cs
- DocumentPage.cs
- CustomWebEventKey.cs
- ScrollPatternIdentifiers.cs
- AnimationTimeline.cs
- M3DUtil.cs
- CompositeScriptReferenceEventArgs.cs
- ServiceOperationParameter.cs
- AdornerDecorator.cs
- EventArgs.cs
- AppliedDeviceFiltersDialog.cs
- ServiceContractViewControl.Designer.cs
- ObjectDataSourceDesigner.cs
- PrinterResolution.cs
- SqlTypeConverter.cs
- DesignerActionTextItem.cs
- XmlAnyAttributeAttribute.cs
- WebPartDeleteVerb.cs
- BindingParameterCollection.cs
- MorphHelpers.cs
- EmbeddedObject.cs
- MediaTimeline.cs
- Control.cs
- ProfileGroupSettingsCollection.cs
- FunctionCommandText.cs
- ErrorHandlerFaultInfo.cs
- RootBrowserWindow.cs
- MasterPageBuildProvider.cs
- LoadItemsEventArgs.cs
- JoinSymbol.cs
- TargetFrameworkAttribute.cs
- HelpKeywordAttribute.cs
- SapiInterop.cs
- Font.cs
- DataGridViewCellValueEventArgs.cs
- EndPoint.cs
- CodeEventReferenceExpression.cs
- SessionStateItemCollection.cs
- AutomationEvent.cs
- XmlNullResolver.cs
- RegexBoyerMoore.cs
- ComponentRenameEvent.cs
- SimpleHandlerBuildProvider.cs
- EncryptedXml.cs
- _MultipleConnectAsync.cs
- BinaryObjectWriter.cs
- ContextMenuAutomationPeer.cs
- DataControlImageButton.cs
- WsatRegistrationHeader.cs
- CharKeyFrameCollection.cs
- DataGridComboBoxColumn.cs
- DataGridViewComboBoxColumn.cs
- PathSegment.cs
- DirectoryRootQuery.cs
- TextReader.cs
- QueueProcessor.cs
- XmlNavigatorFilter.cs
- DrawItemEvent.cs
- GridViewColumnHeaderAutomationPeer.cs
- StorageEntityContainerMapping.cs
- AppSettingsExpressionBuilder.cs
- LiteralDesigner.cs
- DataGridParentRows.cs
- NegatedConstant.cs
- WebPartTracker.cs
- TypeCollectionPropertyEditor.cs
- Trace.cs
- EventLogPermissionEntry.cs
- XmlDomTextWriter.cs
- DefaultMemberAttribute.cs
- SqlClientPermission.cs
- HashHelper.cs
- DataProtection.cs
- DataGridItemCollection.cs
- ToolboxComponentsCreatingEventArgs.cs
- SettingsPropertyWrongTypeException.cs
- ControlBuilderAttribute.cs
- ToolStripItemImageRenderEventArgs.cs
- ReadOnlyDataSource.cs
- XmlUtilWriter.cs
- GridViewRowEventArgs.cs
- WriteLine.cs
- SessionPageStateSection.cs
- DecimalConstantAttribute.cs