Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebParts / PersonalizationStateQuery.cs / 1 / PersonalizationStateQuery.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Security.Permissions; using System.Web.Util; [Serializable] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class PersonalizationStateQuery { private static readonly Dictionary_knownPropertyTypeMappings; private HybridDictionary _data; static PersonalizationStateQuery() { _knownPropertyTypeMappings = new Dictionary (StringComparer.OrdinalIgnoreCase); _knownPropertyTypeMappings["PathToMatch"] = typeof(string); _knownPropertyTypeMappings["UserInactiveSinceDate"] = typeof(DateTime); _knownPropertyTypeMappings["UsernameToMatch"] = typeof(string); } public PersonalizationStateQuery() { _data = new HybridDictionary(true); // VSWhidbey 357097: UserInactiveSinceDate needs to have a default value returned for the indexer property _data["UserInactiveSinceDate"] = PersonalizationAdministration.DefaultInactiveSinceDate; } public string PathToMatch { get { return (string) this["PathToMatch"]; } set { if (value != null) { value = value.Trim(); } _data["PathToMatch"] = value; } } public DateTime UserInactiveSinceDate { get { object o = this["UserInactiveSinceDate"]; Debug.Assert(o != null, "Should always have a default value!"); return (DateTime) o; } set { _data["UserInactiveSinceDate"] = value; } } public string UsernameToMatch { get { return (string) this["UsernameToMatch"]; } set { if (value != null) { value = value.Trim(); } _data["UsernameToMatch"] = value; } } public object this[string queryKey] { get { queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey"); return _data[queryKey]; } set { queryKey = StringUtil.CheckAndTrimString(queryKey, "queryKey"); // VSWhidbey 436311: We need to check the value types for known properties if (_knownPropertyTypeMappings.ContainsKey(queryKey)) { Type valueType = _knownPropertyTypeMappings[queryKey]; Debug.Assert(valueType != null); if ((value == null && valueType.IsValueType) || (value != null && !valueType.IsAssignableFrom(value.GetType()))) { throw new ArgumentException( SR.GetString(SR.PersonalizationStateQuery_IncorrectValueType, queryKey, valueType.FullName)); } } _data[queryKey] = value; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SafeNativeMethods.cs
- ExtendedTransformFactory.cs
- ACE.cs
- XDRSchema.cs
- ArraySet.cs
- WinEventHandler.cs
- CodeGenerator.cs
- shaperfactoryquerycacheentry.cs
- CompilerWrapper.cs
- Parser.cs
- WindowsListView.cs
- NativeCompoundFileAPIs.cs
- DBProviderConfigurationHandler.cs
- StructuredTypeEmitter.cs
- MultitargetUtil.cs
- SelectionManager.cs
- ExtensionFile.cs
- SignedInfo.cs
- WinCategoryAttribute.cs
- IsolatedStorageFilePermission.cs
- AddInController.cs
- HtmlHead.cs
- EntityContainer.cs
- QilDataSource.cs
- XamlSerializerUtil.cs
- XmlSchemaDocumentation.cs
- NetWebProxyFinder.cs
- ZeroOpNode.cs
- TextContainerChangedEventArgs.cs
- Opcode.cs
- SourceChangedEventArgs.cs
- WebPartEditorCancelVerb.cs
- XmlIncludeAttribute.cs
- TextServicesProperty.cs
- HttpCookiesSection.cs
- HttpProcessUtility.cs
- RowSpanVector.cs
- MimeMapping.cs
- OpenFileDialog.cs
- ADMembershipProvider.cs
- UserControlDocumentDesigner.cs
- Conditional.cs
- LabelAutomationPeer.cs
- XslNumber.cs
- SafePEFileHandle.cs
- ColorDialog.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- TreeNodeStyleCollection.cs
- WindowsProgressbar.cs
- RequestQueue.cs
- HelpInfo.cs
- OAVariantLib.cs
- WinFormsComponentEditor.cs
- WinEventTracker.cs
- MouseWheelEventArgs.cs
- FormDesigner.cs
- SizeF.cs
- EdmComplexTypeAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- LinqDataSourceUpdateEventArgs.cs
- InputProcessorProfiles.cs
- TextDecorationLocationValidation.cs
- PresentationSource.cs
- RegionIterator.cs
- MatrixAnimationUsingKeyFrames.cs
- XhtmlBasicPageAdapter.cs
- SamlConditions.cs
- CombinedGeometry.cs
- CaseExpr.cs
- CompilerError.cs
- VoiceChangeEventArgs.cs
- AutomationAttributeInfo.cs
- KeyPullup.cs
- PenThreadWorker.cs
- SerializationException.cs
- MessagePartDescription.cs
- CodeVariableReferenceExpression.cs
- ValueUtilsSmi.cs
- ThrowHelper.cs
- TypeDescriptionProviderAttribute.cs
- ManagementBaseObject.cs
- StylusCollection.cs
- BulletedListEventArgs.cs
- EntityDataSourceUtil.cs
- SqlNodeAnnotations.cs
- DigitShape.cs
- StateMachineDesignerPaint.cs
- ScrollChangedEventArgs.cs
- PerformanceCounters.cs
- BindingManagerDataErrorEventArgs.cs
- TextReturnReader.cs
- QueryResult.cs
- HtmlToClrEventProxy.cs
- TemplateContainer.cs
- RemotingHelper.cs
- StylesEditorDialog.cs
- TaiwanCalendar.cs
- FunctionImportMapping.cs
- PngBitmapEncoder.cs
- XmlQueryCardinality.cs