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
- QueryStack.cs
- AssemblyContextControlItem.cs
- UInt16Converter.cs
- OletxTransactionHeader.cs
- DataListAutoFormat.cs
- StringUtil.cs
- DataGridLinkButton.cs
- SHA512CryptoServiceProvider.cs
- ConfigurationManagerHelperFactory.cs
- sortedlist.cs
- BuildResult.cs
- XmlSchemaSimpleContent.cs
- SQLDouble.cs
- TextEditor.cs
- Label.cs
- EventInfo.cs
- ClientSettingsSection.cs
- BaseCodePageEncoding.cs
- HtmlTableRow.cs
- TextInfo.cs
- DeviceFilterEditorDialog.cs
- TraceHandlerErrorFormatter.cs
- TextServicesPropertyRanges.cs
- SQLInt16Storage.cs
- HtmlObjectListAdapter.cs
- Pair.cs
- GridItemCollection.cs
- StateDesigner.Layouts.cs
- AspProxy.cs
- TreeViewEvent.cs
- ResourcePart.cs
- DataIdProcessor.cs
- DateTimeFormatInfoScanner.cs
- NativeCppClassAttribute.cs
- HtmlDocument.cs
- XPathNavigator.cs
- XmlSchemaAll.cs
- WebPartUtil.cs
- ComponentConverter.cs
- PersonalizableAttribute.cs
- RandomNumberGenerator.cs
- GroupBoxRenderer.cs
- ProxyAttribute.cs
- MarginsConverter.cs
- RawAppCommandInputReport.cs
- GridViewAutomationPeer.cs
- OracleBFile.cs
- ImpersonateTokenRef.cs
- SiteMapProvider.cs
- DBSchemaRow.cs
- WindowPatternIdentifiers.cs
- MetadataItemEmitter.cs
- RegexMatchCollection.cs
- grammarelement.cs
- OrderedParallelQuery.cs
- IApplicationTrustManager.cs
- PingOptions.cs
- TabControl.cs
- TextPointer.cs
- HttpRequestWrapper.cs
- SHA384Managed.cs
- CharStorage.cs
- CodeGeneratorOptions.cs
- HtmlTableRowCollection.cs
- HttpRequestCacheValidator.cs
- XpsResource.cs
- XmlBinaryReaderSession.cs
- PolicyAssertionCollection.cs
- ResourceDescriptionAttribute.cs
- RealizationContext.cs
- XPathCompileException.cs
- RegisteredExpandoAttribute.cs
- MessageFormatterConverter.cs
- DesignerLabelAdapter.cs
- LockedAssemblyCache.cs
- TypeTypeConverter.cs
- SqlStatistics.cs
- FontDifferentiator.cs
- DataGridViewCheckBoxCell.cs
- DetailsViewUpdatedEventArgs.cs
- XmlParserContext.cs
- BulletedListEventArgs.cs
- DataGridViewCellFormattingEventArgs.cs
- XamlPoint3DCollectionSerializer.cs
- CalculatedColumn.cs
- RawTextInputReport.cs
- ScriptReferenceEventArgs.cs
- RelatedImageListAttribute.cs
- ListParagraph.cs
- CustomWebEventKey.cs
- HttpBufferlessInputStream.cs
- ellipse.cs
- Keyboard.cs
- HtmlTernaryTree.cs
- XmlCountingReader.cs
- _NetRes.cs
- nulltextnavigator.cs
- SevenBitStream.cs
- PreservationFileWriter.cs
- MultiPropertyDescriptorGridEntry.cs