Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Sys / System / Configuration / NameValueSectionHandler.cs / 1 / NameValueSectionHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Specialized; using System.Xml; using System.Globalization; ////// Simple dictionary config factory /// public class NameValueSectionHandler : IConfigurationSectionHandler { const string defaultKeyAttribute = "key"; const string defaultValueAttribute = "value"; ////// public object Create(object parent, object context, XmlNode section) { return CreateStatic(parent, section, KeyAttributeName, ValueAttributeName); } internal static object CreateStatic(object parent, XmlNode section) { return CreateStatic(parent, section, defaultKeyAttribute, defaultValueAttribute); } internal static object CreateStatic(object parent, XmlNode section, string keyAttriuteName, string valueAttributeName) { ReadOnlyNameValueCollection result; // start result off as a shallow clone of the parent if (parent == null) result = new ReadOnlyNameValueCollection(StringComparer.OrdinalIgnoreCase); else { ReadOnlyNameValueCollection parentCollection = (ReadOnlyNameValueCollection)parent; result = new ReadOnlyNameValueCollection(parentCollection); } // process XML HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (HandlerBase.IsIgnorableAlsoCheckForNonElement(child)) continue; // handle[To be supplied.] ///, , tags if (child.Name == "add") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); String value = HandlerBase.RemoveRequiredAttribute(child, valueAttributeName, true/*allowEmptyString*/); HandlerBase.CheckForUnrecognizedAttributes(child); result[key] = value; } else if (child.Name == "remove") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); HandlerBase.CheckForUnrecognizedAttributes(child); result.Remove(key); } else if (child.Name.Equals("clear")) { HandlerBase.CheckForUnrecognizedAttributes(child); result.Clear(); } else { HandlerBase.ThrowUnrecognizedElement(child); } } result.SetReadOnly(); return result; } /// /// protected virtual string KeyAttributeName { get { return defaultKeyAttribute;} } ///[To be supplied.] ////// protected virtual string ValueAttributeName { get { return defaultValueAttribute;} } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration { using System.Collections; using System.Collections.Specialized; using System.Xml; using System.Globalization; ////// Simple dictionary config factory /// public class NameValueSectionHandler : IConfigurationSectionHandler { const string defaultKeyAttribute = "key"; const string defaultValueAttribute = "value"; ////// public object Create(object parent, object context, XmlNode section) { return CreateStatic(parent, section, KeyAttributeName, ValueAttributeName); } internal static object CreateStatic(object parent, XmlNode section) { return CreateStatic(parent, section, defaultKeyAttribute, defaultValueAttribute); } internal static object CreateStatic(object parent, XmlNode section, string keyAttriuteName, string valueAttributeName) { ReadOnlyNameValueCollection result; // start result off as a shallow clone of the parent if (parent == null) result = new ReadOnlyNameValueCollection(StringComparer.OrdinalIgnoreCase); else { ReadOnlyNameValueCollection parentCollection = (ReadOnlyNameValueCollection)parent; result = new ReadOnlyNameValueCollection(parentCollection); } // process XML HandlerBase.CheckForUnrecognizedAttributes(section); foreach (XmlNode child in section.ChildNodes) { // skip whitespace and comments if (HandlerBase.IsIgnorableAlsoCheckForNonElement(child)) continue; // handle[To be supplied.] ///, , tags if (child.Name == "add") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); String value = HandlerBase.RemoveRequiredAttribute(child, valueAttributeName, true/*allowEmptyString*/); HandlerBase.CheckForUnrecognizedAttributes(child); result[key] = value; } else if (child.Name == "remove") { String key = HandlerBase.RemoveRequiredAttribute(child, keyAttriuteName); HandlerBase.CheckForUnrecognizedAttributes(child); result.Remove(key); } else if (child.Name.Equals("clear")) { HandlerBase.CheckForUnrecognizedAttributes(child); result.Clear(); } else { HandlerBase.ThrowUnrecognizedElement(child); } } result.SetReadOnly(); return result; } /// /// protected virtual string KeyAttributeName { get { return defaultKeyAttribute;} } ///[To be supplied.] ////// protected virtual string ValueAttributeName { get { return defaultValueAttribute;} } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RotateTransform3D.cs
- MetadataArtifactLoaderCompositeFile.cs
- FunctionImportMapping.cs
- Root.cs
- UpdatePanelTrigger.cs
- XhtmlTextWriter.cs
- OleDbMetaDataFactory.cs
- GridErrorDlg.cs
- SqlOuterApplyReducer.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- SchemaImporter.cs
- VerificationAttribute.cs
- DataSetMappper.cs
- XmlAggregates.cs
- ImageIndexEditor.cs
- JavaScriptSerializer.cs
- SelectionChangedEventArgs.cs
- EmptyElement.cs
- AmbientLight.cs
- XslAst.cs
- Font.cs
- InfoCardKeyedHashAlgorithm.cs
- RtfControlWordInfo.cs
- ToolStripItemRenderEventArgs.cs
- followingsibling.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- PeerPresenceInfo.cs
- ResXBuildProvider.cs
- OciLobLocator.cs
- ConfigXmlCDataSection.cs
- FreezableOperations.cs
- BinaryReader.cs
- DocumentPageView.cs
- UpdatableWrapper.cs
- UnmanagedHandle.cs
- ListViewItem.cs
- TrackBarRenderer.cs
- MetabaseReader.cs
- ManagementScope.cs
- StringAnimationUsingKeyFrames.cs
- ApplicationContext.cs
- MultipleViewProviderWrapper.cs
- OutputCacheModule.cs
- MachineKeySection.cs
- SmiContext.cs
- StringAnimationUsingKeyFrames.cs
- BitmapImage.cs
- IIS7WorkerRequest.cs
- DesignerGenericWebPart.cs
- BreakRecordTable.cs
- SamlAssertionKeyIdentifierClause.cs
- SystemUdpStatistics.cs
- ExpandSegmentCollection.cs
- HScrollBar.cs
- NetworkCredential.cs
- KeyValueConfigurationCollection.cs
- StatusBarPanelClickEvent.cs
- ContainerVisual.cs
- HtmlWindowCollection.cs
- WebBrowser.cs
- RenderData.cs
- AttributeEmitter.cs
- ConvertEvent.cs
- DirectoryObjectSecurity.cs
- RightsManagementSuppressedStream.cs
- ContainerUtilities.cs
- PrintController.cs
- SimpleTextLine.cs
- HTMLTextWriter.cs
- MachineKeyConverter.cs
- ReadOnlyPropertyMetadata.cs
- CultureSpecificCharacterBufferRange.cs
- DecodeHelper.cs
- WebPartConnectVerb.cs
- SortKey.cs
- ColorAnimation.cs
- DataTable.cs
- Label.cs
- CallbackException.cs
- RotateTransform.cs
- TagPrefixAttribute.cs
- CapabilitiesPattern.cs
- FrugalList.cs
- SecurityTokenProvider.cs
- ReachUIElementCollectionSerializer.cs
- DBBindings.cs
- HtmlCalendarAdapter.cs
- basenumberconverter.cs
- Utils.cs
- BitmapEffectDrawing.cs
- SmiEventSink_DeferedProcessing.cs
- CompressedStack.cs
- SeverityFilter.cs
- ActivityScheduledQuery.cs
- IItemContainerGenerator.cs
- ReadContentAsBinaryHelper.cs
- GeometryDrawing.cs
- MappingMetadataHelper.cs
- PtsHelper.cs
- PermissionAttributes.cs