Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / Configuration / ProfileGroupSettingsCollection.cs / 1 / ProfileGroupSettingsCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Web.Util; using System.Security.Permissions; [ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private bool bModified = false; static ProfileGroupSettingsCollection() { _properties = new ConfigurationPropertyCollection(); } public ProfileGroupSettingsCollection() { AddElementName = "group"; ClearElementName = String.Empty; // This collection does not support Clear tags EmitClear = false; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } // public properties public String[] AllKeys { get { return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys()); } } public new ProfileGroupSettings this[string name] { get { return (ProfileGroupSettings)BaseGet(name); } } public ProfileGroupSettings this[int index] { get { return (ProfileGroupSettings)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } internal void AddOrReplace(ProfileGroupSettings groupSettings) { BaseAdd(groupSettings, false); } // Protected Overrides protected override ConfigurationElement CreateNewElement() { return new ProfileGroupSettings(); } protected override Object GetElementKey(ConfigurationElement element) { return ((ProfileGroupSettings)element).Name; } // Internal access to ConfigurationElement methods internal bool InternalIsModified() { return IsModified(); } internal void InternalResetModified() { ResetModified(); } internal void InternalReset(ConfigurationElement parentElement) { Reset(parentElement); } internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement, ConfigurationSaveMode saveMode) { // This requires a special unmerge because it should not act like an element in a collection // which is the default behavior Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged BaseClear(); // don't use the merged data however ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection; ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection; // foreach group in the source we should unmerge the individual settings. foreach (ProfileGroupSettings settings in source) { ProfileGroupSettings settingsFromParent = parent.Get(settings.Name); ProfileGroupSettings deltaSettings = new ProfileGroupSettings(); deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode); BaseAdd(deltaSettings); } } internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) { if (EmitClear == true) { throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid)); } return SerializeElement(writer, serializeCollectionKey); } // public methods public void Add(ProfileGroupSettings group) { BaseAdd(group); } public ProfileGroupSettings Get(int index) { return (ProfileGroupSettings)BaseGet(index); } public ProfileGroupSettings Get(string name) { return (ProfileGroupSettings)BaseGet(name); } public String GetKey(int index) { return (String) BaseGetKey(index); } public void Set(ProfileGroupSettings group) { BaseAdd(group, false); } public int IndexOf(ProfileGroupSettings group) { return BaseIndexOf(group); } public void Remove(string name) { ConfigurationElement elem = BaseGet(name); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemove(name); } else { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items)); } } } public void RemoveAt(int index) { ConfigurationElement elem = BaseGet(index); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemoveAt(index); } else { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items)); } } } public void Clear() { int index = Count-1; bModified = true; for (int i = index; i >= 0; i--) { ConfigurationElement elem = BaseGet(i); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemoveAt(i); } } } } protected override void ResetModified() { bModified = false; base.ResetModified(); } protected override bool IsModified() { if (bModified == true) { return true; } return base.IsModified(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Configuration { using System; using System.Xml; using System.Configuration; using System.Collections.Specialized; using System.Collections; using System.IO; using System.Text; using System.Web.Util; using System.Security.Permissions; [ConfigurationCollection(typeof(ProfileGroupSettings), AddItemName = "group")] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ProfileGroupSettingsCollection : ConfigurationElementCollection { private static ConfigurationPropertyCollection _properties; private bool bModified = false; static ProfileGroupSettingsCollection() { _properties = new ConfigurationPropertyCollection(); } public ProfileGroupSettingsCollection() { AddElementName = "group"; ClearElementName = String.Empty; // This collection does not support Clear tags EmitClear = false; } protected override ConfigurationPropertyCollection Properties { get { return _properties; } } // public properties public String[] AllKeys { get { return StringUtil.ObjectArrayToStringArray(BaseGetAllKeys()); } } public new ProfileGroupSettings this[string name] { get { return (ProfileGroupSettings)BaseGet(name); } } public ProfileGroupSettings this[int index] { get { return (ProfileGroupSettings)BaseGet(index); } set { if (BaseGet(index) != null) { BaseRemoveAt(index); } BaseAdd(index, value); } } internal void AddOrReplace(ProfileGroupSettings groupSettings) { BaseAdd(groupSettings, false); } // Protected Overrides protected override ConfigurationElement CreateNewElement() { return new ProfileGroupSettings(); } protected override Object GetElementKey(ConfigurationElement element) { return ((ProfileGroupSettings)element).Name; } // Internal access to ConfigurationElement methods internal bool InternalIsModified() { return IsModified(); } internal void InternalResetModified() { ResetModified(); } internal void InternalReset(ConfigurationElement parentElement) { Reset(parentElement); } internal void InternalUnMerge(ConfigurationElement sourceElement, ConfigurationElement parentElement, ConfigurationSaveMode saveMode) { // This requires a special unmerge because it should not act like an element in a collection // which is the default behavior Unmerge(sourceElement, parentElement, saveMode); // Base merge to get locks merged BaseClear(); // don't use the merged data however ProfileGroupSettingsCollection source = sourceElement as ProfileGroupSettingsCollection; ProfileGroupSettingsCollection parent = parentElement as ProfileGroupSettingsCollection; // foreach group in the source we should unmerge the individual settings. foreach (ProfileGroupSettings settings in source) { ProfileGroupSettings settingsFromParent = parent.Get(settings.Name); ProfileGroupSettings deltaSettings = new ProfileGroupSettings(); deltaSettings.InternalUnmerge(settings, settingsFromParent, saveMode); BaseAdd(deltaSettings); } } internal bool InternalSerialize(XmlWriter writer, bool serializeCollectionKey) { if (EmitClear == true) { throw new ConfigurationErrorsException(SR.GetString(SR.Clear_not_valid)); } return SerializeElement(writer, serializeCollectionKey); } // public methods public void Add(ProfileGroupSettings group) { BaseAdd(group); } public ProfileGroupSettings Get(int index) { return (ProfileGroupSettings)BaseGet(index); } public ProfileGroupSettings Get(string name) { return (ProfileGroupSettings)BaseGet(name); } public String GetKey(int index) { return (String) BaseGetKey(index); } public void Set(ProfileGroupSettings group) { BaseAdd(group, false); } public int IndexOf(ProfileGroupSettings group) { return BaseIndexOf(group); } public void Remove(string name) { ConfigurationElement elem = BaseGet(name); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemove(name); } else { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items)); } } } public void RemoveAt(int index) { ConfigurationElement elem = BaseGet(index); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemoveAt(index); } else { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_cannot_remove_inherited_items)); } } } public void Clear() { int index = Count-1; bModified = true; for (int i = index; i >= 0; i--) { ConfigurationElement elem = BaseGet(i); if (elem != null) { ElementInformation elemInfo = elem.ElementInformation; if (elemInfo.IsPresent) { BaseRemoveAt(i); } } } } protected override void ResetModified() { bModified = false; base.ResetModified(); } protected override bool IsModified() { if (bModified == true) { return true; } return base.IsModified(); } } } // 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
- XamlSerializationHelper.cs
- SecUtil.cs
- AppDomainShutdownMonitor.cs
- AuthenticationManager.cs
- ProtocolsConfiguration.cs
- EqualityComparer.cs
- DateTimePicker.cs
- CommandConverter.cs
- VerticalAlignConverter.cs
- LoginCancelEventArgs.cs
- Roles.cs
- SerializationHelper.cs
- HtmlTextArea.cs
- TextChange.cs
- Size3D.cs
- DataGridViewButtonColumn.cs
- XmlSerializableWriter.cs
- ChildTable.cs
- TemplateNameScope.cs
- ConversionValidationRule.cs
- CaseInsensitiveComparer.cs
- EntityDataSource.cs
- SingleSelectRootGridEntry.cs
- StorageModelBuildProvider.cs
- CorrelationTokenInvalidatedHandler.cs
- WindowsRebar.cs
- FamilyTypeface.cs
- filewebresponse.cs
- HitTestWithGeometryDrawingContextWalker.cs
- ParameterBuilder.cs
- ConstraintEnumerator.cs
- WebResourceAttribute.cs
- base64Transforms.cs
- CompilationUnit.cs
- GridEntryCollection.cs
- NameTable.cs
- DbDataSourceEnumerator.cs
- LocalizationParserHooks.cs
- ParallelTimeline.cs
- FormsAuthentication.cs
- StateMachineAction.cs
- EntityDataSourceSelectingEventArgs.cs
- UIHelper.cs
- XmlSchemaSimpleContentExtension.cs
- XmlSchemaComplexContentExtension.cs
- SHA1CryptoServiceProvider.cs
- CustomErrorsSection.cs
- ActiveXContainer.cs
- WSFederationHttpSecurityMode.cs
- SqlConnectionFactory.cs
- QueryBranchOp.cs
- DataControlFieldHeaderCell.cs
- ItemCollectionEditor.cs
- GroupPartitionExpr.cs
- NamespaceDisplay.xaml.cs
- AddressingVersion.cs
- EmbeddedMailObjectsCollection.cs
- RawKeyboardInputReport.cs
- NumberSubstitution.cs
- SystemException.cs
- WebPartsSection.cs
- CharConverter.cs
- AllowedAudienceUriElement.cs
- EventWaitHandle.cs
- VoiceObjectToken.cs
- DataSourceCacheDurationConverter.cs
- SqlErrorCollection.cs
- MenuItem.cs
- ValidatorCompatibilityHelper.cs
- SrgsOneOf.cs
- CodePageUtils.cs
- AvTraceDetails.cs
- MachineKeySection.cs
- EventsTab.cs
- RouteParametersHelper.cs
- DBConcurrencyException.cs
- Profiler.cs
- OutKeywords.cs
- LayoutManager.cs
- Classification.cs
- StateMachine.cs
- initElementDictionary.cs
- ChannelServices.cs
- EdgeModeValidation.cs
- TextViewSelectionProcessor.cs
- TemplateField.cs
- OleDbFactory.cs
- NamedPermissionSet.cs
- SplitterEvent.cs
- SocketElement.cs
- CompositeActivityTypeDescriptorProvider.cs
- EdmSchemaError.cs
- MarkupCompilePass2.cs
- FileVersion.cs
- ScrollItemPatternIdentifiers.cs
- WindowProviderWrapper.cs
- OleDbEnumerator.cs
- CqlLexer.cs
- FrameworkEventSource.cs
- Roles.cs