Code:
/ FX-1434 / FX-1434 / 1.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
- DateTimeStorage.cs
- SqlProviderManifest.cs
- HeaderedItemsControl.cs
- LinkArea.cs
- _RequestCacheProtocol.cs
- VBCodeProvider.cs
- ByteStreamMessageEncoder.cs
- RightsManagementErrorHandler.cs
- RuntimeCompatibilityAttribute.cs
- RelatedView.cs
- LocalizableResourceBuilder.cs
- RegexGroup.cs
- LabelExpression.cs
- ValidatorCompatibilityHelper.cs
- DataGridViewSelectedRowCollection.cs
- Message.cs
- CollectionViewGroupInternal.cs
- brushes.cs
- SyndicationPerson.cs
- ResolvedKeyFrameEntry.cs
- Win32Interop.cs
- RewritingSimplifier.cs
- PrintPreviewControl.cs
- WebPartConnectionsCloseVerb.cs
- __FastResourceComparer.cs
- FileDocument.cs
- ApplicationManager.cs
- PtsHost.cs
- Msmq4SubqueuePoisonHandler.cs
- FolderBrowserDialog.cs
- SQLGuid.cs
- CustomValidator.cs
- BindingMemberInfo.cs
- UnmanagedMarshal.cs
- Model3DGroup.cs
- ArgumentException.cs
- ManipulationVelocities.cs
- OrCondition.cs
- Floater.cs
- MaskedTextBoxDesigner.cs
- DataRecord.cs
- SessionStateUtil.cs
- CqlIdentifiers.cs
- SiteMapDataSourceView.cs
- SoapHeaderAttribute.cs
- CellTreeNodeVisitors.cs
- FormViewModeEventArgs.cs
- CompilerGeneratedAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- BlurEffect.cs
- StorageEntitySetMapping.cs
- DataGridViewAutoSizeModeEventArgs.cs
- Transform3D.cs
- DataSetUtil.cs
- ScrollViewer.cs
- BindableTemplateBuilder.cs
- HtmlControl.cs
- TransferMode.cs
- BitmapCodecInfo.cs
- CorrelationActionMessageFilter.cs
- WhereQueryOperator.cs
- ToolStripStatusLabel.cs
- TextChange.cs
- Debugger.cs
- WebPartEditVerb.cs
- EventLogHandle.cs
- TemplateControl.cs
- DecoderBestFitFallback.cs
- DbTransaction.cs
- TypeBrowser.xaml.cs
- ColumnHeaderConverter.cs
- XPathNodeList.cs
- InfoCardTraceRecord.cs
- DiscoveryMessageSequence.cs
- TrustVersion.cs
- StatusCommandUI.cs
- OracleBoolean.cs
- XmlIgnoreAttribute.cs
- LocalIdKeyIdentifierClause.cs
- BufferModesCollection.cs
- EllipticalNodeOperations.cs
- EventsTab.cs
- ReflectEventDescriptor.cs
- Scene3D.cs
- DecoderReplacementFallback.cs
- ChtmlPageAdapter.cs
- UnsafeNativeMethods.cs
- FrameAutomationPeer.cs
- CodeTypeMemberCollection.cs
- MultiBinding.cs
- ConnectionPoolManager.cs
- MetaTable.cs
- WeakEventManager.cs
- OptimisticConcurrencyException.cs
- SmiTypedGetterSetter.cs
- InputReportEventArgs.cs
- SafeNativeMethods.cs
- PathData.cs
- PersonalizableTypeEntry.cs
- ClaimComparer.cs