Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Sys / System / Configuration / NameValueSectionHandler.cs / 1305376 / 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.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ByteBufferPool.cs
- listviewsubitemcollectioneditor.cs
- ChangePasswordAutoFormat.cs
- IxmlLineInfo.cs
- FormatConvertedBitmap.cs
- ElementHostAutomationPeer.cs
- FixedSOMImage.cs
- IISMapPath.cs
- WebRequestModuleElementCollection.cs
- TypeToArgumentTypeConverter.cs
- TextParagraphView.cs
- WebServiceResponseDesigner.cs
- CompilerParameters.cs
- GcHandle.cs
- X509ClientCertificateAuthenticationElement.cs
- DataGridColumnsPage.cs
- HtmlTableRow.cs
- WorkflowMarkupSerializerMapping.cs
- XmlSequenceWriter.cs
- DataViewManagerListItemTypeDescriptor.cs
- XmlSerializerVersionAttribute.cs
- CompilerError.cs
- InheritablePropertyChangeInfo.cs
- XmlNode.cs
- SQLBytes.cs
- DatatypeImplementation.cs
- MSG.cs
- Vertex.cs
- RowUpdatingEventArgs.cs
- DataGridCommandEventArgs.cs
- Environment.cs
- CloseSequenceResponse.cs
- XmlWriterTraceListener.cs
- MediaScriptCommandRoutedEventArgs.cs
- PropertyPushdownHelper.cs
- EndSelectCardRequest.cs
- WebAdminConfigurationHelper.cs
- AsyncPostBackTrigger.cs
- _Connection.cs
- StateDesignerConnector.cs
- QueueProcessor.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- ErrorsHelper.cs
- SafeSecurityHelper.cs
- PresentationTraceSources.cs
- ProcessHostMapPath.cs
- WindowsListViewItemCheckBox.cs
- DataControlPagerLinkButton.cs
- CodePageUtils.cs
- SlipBehavior.cs
- FileNotFoundException.cs
- SystemResourceHost.cs
- TypeBuilder.cs
- ScriptingRoleServiceSection.cs
- SetterBase.cs
- safemediahandle.cs
- LogConverter.cs
- ShapingEngine.cs
- ToolStripSplitButton.cs
- XmlWrappingWriter.cs
- WebPartDisplayMode.cs
- XsdSchemaFileEditor.cs
- CommandEventArgs.cs
- SystemResources.cs
- ObjectAnimationUsingKeyFrames.cs
- AnimationStorage.cs
- RightsManagementEncryptionTransform.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- LinqDataSource.cs
- ServiceChannel.cs
- SplitterPanel.cs
- ToolStripItemImageRenderEventArgs.cs
- sqlnorm.cs
- OperatingSystem.cs
- AcceleratedTokenAuthenticator.cs
- XmlReader.cs
- FilterQueryOptionExpression.cs
- ProfileModule.cs
- RecordBuilder.cs
- BuildProviderUtils.cs
- TreeIterator.cs
- PenThreadWorker.cs
- XamlBrushSerializer.cs
- NonPrimarySelectionGlyph.cs
- Hyperlink.cs
- ProcessManager.cs
- CallbackValidatorAttribute.cs
- Opcode.cs
- ListSourceHelper.cs
- DummyDataSource.cs
- ProcessThreadCollection.cs
- WeakHashtable.cs
- MobileControlPersister.cs
- UnauthorizedWebPart.cs
- TimeSpanMinutesConverter.cs
- Utils.cs
- SystemIcmpV6Statistics.cs
- CellLabel.cs
- TypeUnloadedException.cs
- ActivityCollectionMarkupSerializer.cs