Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / ConfigurationSection.cs / 1305376 / ConfigurationSection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System; using System.Collections.Specialized; using System.Configuration.Internal; using System.IO; using System.Reflection; using System.Security; using System.Text; using System.Xml; using System.Globalization; using System.Runtime.Versioning; public abstract class ConfigurationSection : ConfigurationElement { private SectionInformation _section; // Constructor // protected ConfigurationSection() { _section = new SectionInformation( this ); } // SectionInformation property // // Retrieve the class associated with the Section information // public SectionInformation SectionInformation { get { return _section; } } // GetRuntimeObject // // Return the Runtime Object for this Section // protected internal virtual object GetRuntimeObject() { return this; } protected internal override bool IsModified() { return ( SectionInformation.IsModifiedFlags() || base.IsModified() ); } protected internal override void ResetModified() { SectionInformation.ResetModifiedFlags(); base.ResetModified(); } protected internal virtual void DeserializeSection(XmlReader reader) { if (!reader.Read() || reader.NodeType != XmlNodeType.Element) { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_expected_to_find_element), reader); } DeserializeElement(reader, false); } protected internal virtual string SerializeSection(ConfigurationElement parentElement, string name, ConfigurationSaveMode saveMode) { if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null && !ShouldSerializeSectionInTargetVersion(CurrentConfiguration.TargetFramework)) { return string.Empty; } ValidateElement(this, null, true); ConfigurationElement TempElement = CreateElement(this.GetType()); TempElement.Unmerge(this, parentElement, saveMode); StringWriter strWriter = new StringWriter(CultureInfo.InvariantCulture); XmlTextWriter writer = new XmlTextWriter(strWriter); writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.IndentChar = ' '; TempElement.DataToWriteInternal = (saveMode != ConfigurationSaveMode.Minimal); if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null) _configRecord.SectionsStack.Push(this); TempElement.SerializeToXmlElement(writer, name); if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null) _configRecord.SectionsStack.Pop(); writer.Flush(); return strWriter.ToString(); } protected internal virtual bool ShouldSerializePropertyInTargetVersion(ConfigurationProperty property, string propertyName, FrameworkName targetFramework, ConfigurationElement parentConfigurationElement) { return true; } protected internal virtual bool ShouldSerializeElementInTargetVersion(ConfigurationElement element, string elementName, FrameworkName targetFramework) { return true; } protected internal virtual bool ShouldSerializeSectionInTargetVersion(FrameworkName targetFramework) { return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System; using System.Collections.Specialized; using System.Configuration.Internal; using System.IO; using System.Reflection; using System.Security; using System.Text; using System.Xml; using System.Globalization; using System.Runtime.Versioning; public abstract class ConfigurationSection : ConfigurationElement { private SectionInformation _section; // Constructor // protected ConfigurationSection() { _section = new SectionInformation( this ); } // SectionInformation property // // Retrieve the class associated with the Section information // public SectionInformation SectionInformation { get { return _section; } } // GetRuntimeObject // // Return the Runtime Object for this Section // protected internal virtual object GetRuntimeObject() { return this; } protected internal override bool IsModified() { return ( SectionInformation.IsModifiedFlags() || base.IsModified() ); } protected internal override void ResetModified() { SectionInformation.ResetModifiedFlags(); base.ResetModified(); } protected internal virtual void DeserializeSection(XmlReader reader) { if (!reader.Read() || reader.NodeType != XmlNodeType.Element) { throw new ConfigurationErrorsException(SR.GetString(SR.Config_base_expected_to_find_element), reader); } DeserializeElement(reader, false); } protected internal virtual string SerializeSection(ConfigurationElement parentElement, string name, ConfigurationSaveMode saveMode) { if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null && !ShouldSerializeSectionInTargetVersion(CurrentConfiguration.TargetFramework)) { return string.Empty; } ValidateElement(this, null, true); ConfigurationElement TempElement = CreateElement(this.GetType()); TempElement.Unmerge(this, parentElement, saveMode); StringWriter strWriter = new StringWriter(CultureInfo.InvariantCulture); XmlTextWriter writer = new XmlTextWriter(strWriter); writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.IndentChar = ' '; TempElement.DataToWriteInternal = (saveMode != ConfigurationSaveMode.Minimal); if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null) _configRecord.SectionsStack.Push(this); TempElement.SerializeToXmlElement(writer, name); if (CurrentConfiguration != null && CurrentConfiguration.TargetFramework != null) _configRecord.SectionsStack.Pop(); writer.Flush(); return strWriter.ToString(); } protected internal virtual bool ShouldSerializePropertyInTargetVersion(ConfigurationProperty property, string propertyName, FrameworkName targetFramework, ConfigurationElement parentConfigurationElement) { return true; } protected internal virtual bool ShouldSerializeElementInTargetVersion(ConfigurationElement element, string elementName, FrameworkName targetFramework) { return true; } protected internal virtual bool ShouldSerializeSectionInTargetVersion(FrameworkName targetFramework) { return true; } } } // 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
- ActivityFunc.cs
- _WebProxyDataBuilder.cs
- Buffer.cs
- ProfileSettings.cs
- BitStream.cs
- NamedObject.cs
- ListViewItem.cs
- AppSettings.cs
- StsCommunicationException.cs
- ZipIOExtraField.cs
- safePerfProviderHandle.cs
- WindowsListBox.cs
- RefType.cs
- DetailsViewModeEventArgs.cs
- PropertyTab.cs
- XamlRtfConverter.cs
- DiscoveryClientRequestChannel.cs
- GridProviderWrapper.cs
- ApplicationManager.cs
- __Filters.cs
- Guid.cs
- LayoutEditorPart.cs
- TypographyProperties.cs
- XPathNodeHelper.cs
- ReceiveMessageContent.cs
- XmlSchemaImporter.cs
- RewritingSimplifier.cs
- HelpFileFileNameEditor.cs
- FactoryRecord.cs
- ObjectStorage.cs
- GridViewCellAutomationPeer.cs
- TypeForwardedToAttribute.cs
- PathSegmentCollection.cs
- WebBrowserUriTypeConverter.cs
- TrackBarRenderer.cs
- ThicknessAnimationUsingKeyFrames.cs
- AttributeData.cs
- XmlAttributeHolder.cs
- COM2EnumConverter.cs
- PropertyExpression.cs
- Command.cs
- ScriptManagerProxy.cs
- QilChoice.cs
- PassportIdentity.cs
- DTCTransactionManager.cs
- DiscoveryDefaults.cs
- AppDomainCompilerProxy.cs
- GestureRecognizer.cs
- FileUtil.cs
- CacheMemory.cs
- InfoCardSchemas.cs
- InternalConfigEventArgs.cs
- XPathSingletonIterator.cs
- ComboBoxAutomationPeer.cs
- SessionState.cs
- RuleSetBrowserDialog.cs
- GridViewSortEventArgs.cs
- VerificationAttribute.cs
- WinCategoryAttribute.cs
- RangeBase.cs
- ProxyGenerationError.cs
- Msmq4SubqueuePoisonHandler.cs
- DataRecordInternal.cs
- RowBinding.cs
- RectangleHotSpot.cs
- AsyncPostBackTrigger.cs
- DataStreamFromComStream.cs
- DrawingContextDrawingContextWalker.cs
- GeneralTransform3DCollection.cs
- wgx_commands.cs
- TableItemStyle.cs
- PointAnimationClockResource.cs
- UpdateRecord.cs
- Canvas.cs
- GregorianCalendarHelper.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- ping.cs
- WebPartDisplayMode.cs
- XmlElementCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- StorageTypeMapping.cs
- XmlNamespaceManager.cs
- MailWebEventProvider.cs
- PropertyMappingExceptionEventArgs.cs
- DebugViewWriter.cs
- UnionExpr.cs
- GridViewRowCollection.cs
- SessionStateModule.cs
- SqlLiftWhereClauses.cs
- TreeWalkHelper.cs
- HtmlInputButton.cs
- ResourceBinder.cs
- XmlSchemaGroup.cs
- Metadata.cs
- UriTemplateTableMatchCandidate.cs
- HyperLinkDataBindingHandler.cs
- Stackframe.cs
- OleDbPropertySetGuid.cs
- SQLBinary.cs
- XmlAnyElementAttributes.cs