Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- StatusBarPanel.cs
- DefaultValueTypeConverter.cs
- XmlSchemaComplexContentExtension.cs
- ProfileService.cs
- HtmlSelectionListAdapter.cs
- ContentPlaceHolder.cs
- ConnectionPoint.cs
- SchemaTableOptionalColumn.cs
- ConfigurationStrings.cs
- TableRowCollection.cs
- RecognizerStateChangedEventArgs.cs
- GeneralTransform3DGroup.cs
- BeginEvent.cs
- SessionStateSection.cs
- XMLDiffLoader.cs
- FunctionCommandText.cs
- WebPartCatalogAddVerb.cs
- MobileResource.cs
- ClickablePoint.cs
- DataGridViewCellCollection.cs
- SourceFileBuildProvider.cs
- TrackingLocationCollection.cs
- InitializerFacet.cs
- XmlIterators.cs
- UIElement.cs
- MergeFilterQuery.cs
- ProfilePropertySettings.cs
- GradientStopCollection.cs
- DynamicArgumentDesigner.xaml.cs
- PropertyGridView.cs
- DependencyPropertyValueSerializer.cs
- HandoffBehavior.cs
- ReadOnlyDataSource.cs
- AppSecurityManager.cs
- TreeNodeMouseHoverEvent.cs
- ExpressionEvaluator.cs
- CheckPair.cs
- SafeRegistryHandle.cs
- WindowsSolidBrush.cs
- SrgsGrammarCompiler.cs
- MatrixTransform.cs
- SecurityToken.cs
- QuotedPairReader.cs
- ExceptionValidationRule.cs
- HttpException.cs
- SqlTypeConverter.cs
- CultureSpecificCharacterBufferRange.cs
- ExpressionBuilderCollection.cs
- ApplicationDirectoryMembershipCondition.cs
- RemoteWebConfigurationHost.cs
- PersianCalendar.cs
- FlowLayoutPanelDesigner.cs
- CodeDelegateCreateExpression.cs
- ToolBarDesigner.cs
- ContentControl.cs
- SecurityManager.cs
- FilterElement.cs
- WebPartEditVerb.cs
- RequestCacheManager.cs
- EditingCommands.cs
- ResourceExpressionEditor.cs
- QueryStringParameter.cs
- TextBlock.cs
- DelegatingTypeDescriptionProvider.cs
- HttpContextServiceHost.cs
- ProfilePropertyNameValidator.cs
- FixedDocumentSequencePaginator.cs
- Int16Animation.cs
- GridViewUpdatedEventArgs.cs
- AggregateNode.cs
- DPCustomTypeDescriptor.cs
- IxmlLineInfo.cs
- CharConverter.cs
- InplaceBitmapMetadataWriter.cs
- TextTreeTextNode.cs
- DirectoryInfo.cs
- COM2ExtendedUITypeEditor.cs
- CommandEventArgs.cs
- InplaceBitmapMetadataWriter.cs
- VerbConverter.cs
- ListBindableAttribute.cs
- LogConverter.cs
- ExpressionContext.cs
- DecimalConverter.cs
- ListItemCollection.cs
- XhtmlBasicTextBoxAdapter.cs
- DataViewManager.cs
- RedistVersionInfo.cs
- DescendantBaseQuery.cs
- HttpResponseHeader.cs
- List.cs
- DropShadowEffect.cs
- Scripts.cs
- RoutingSection.cs
- SharedPersonalizationStateInfo.cs
- StagingAreaInputItem.cs
- ComplusEndpointConfigContainer.cs
- BitmapSourceSafeMILHandle.cs
- HttpConfigurationSystem.cs
- SoapDocumentServiceAttribute.cs