Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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;} } } }[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Point3DCollection.cs
- _RegBlobWebProxyDataBuilder.cs
- DataGridViewSelectedRowCollection.cs
- WithStatement.cs
- StrokeIntersection.cs
- ViewStateModeByIdAttribute.cs
- SrgsGrammarCompiler.cs
- DoubleSumAggregationOperator.cs
- KeyValueSerializer.cs
- URI.cs
- NumericUpDownAccelerationCollection.cs
- RewritingPass.cs
- ValidationHelper.cs
- Executor.cs
- CancellationTokenSource.cs
- InvokeBinder.cs
- WebBodyFormatMessageProperty.cs
- AesCryptoServiceProvider.cs
- HandlerBase.cs
- NotSupportedException.cs
- ManagedWndProcTracker.cs
- DeadCharTextComposition.cs
- ComponentResourceManager.cs
- MainMenu.cs
- codemethodreferenceexpression.cs
- HelpEvent.cs
- AddInControllerImpl.cs
- PropertyConverter.cs
- ServiceContractListItemList.cs
- MSHTMLHost.cs
- StrokeNodeOperations2.cs
- SqlErrorCollection.cs
- CalloutQueueItem.cs
- SQLString.cs
- TextContainerChangedEventArgs.cs
- ListItemCollection.cs
- WasAdminWrapper.cs
- InputBinder.cs
- Char.cs
- RoleGroupCollection.cs
- DynamicActionMessageFilter.cs
- StateDesigner.TransitionInfo.cs
- WeakHashtable.cs
- Tokenizer.cs
- ServiceObjectContainer.cs
- HealthMonitoringSectionHelper.cs
- AccessControlEntry.cs
- HtmlFormWrapper.cs
- PagesChangedEventArgs.cs
- Typeface.cs
- ActivityDesignerHighlighter.cs
- DataControlReferenceCollection.cs
- WebBrowser.cs
- WinEventWrap.cs
- EditorPart.cs
- PassportAuthenticationEventArgs.cs
- SafeRightsManagementSessionHandle.cs
- TitleStyle.cs
- DataGridViewBand.cs
- HashCodeCombiner.cs
- OleDbCommand.cs
- XmlException.cs
- ConstructorBuilder.cs
- GeometryValueSerializer.cs
- FixedPage.cs
- ArraySortHelper.cs
- CommandValueSerializer.cs
- TypeDescriptor.cs
- PartialClassGenerationTaskInternal.cs
- KeyboardNavigation.cs
- EventLogger.cs
- AdornerPresentationContext.cs
- SecurityContextSecurityTokenAuthenticator.cs
- XmlArrayItemAttribute.cs
- EventLog.cs
- TemplateInstanceAttribute.cs
- XmlDataSourceView.cs
- FormsAuthenticationUser.cs
- NameTable.cs
- HuffmanTree.cs
- NamespaceCollection.cs
- ArrayListCollectionBase.cs
- TypefaceMetricsCache.cs
- AsyncDataRequest.cs
- DataRelationPropertyDescriptor.cs
- ActivityDefaults.cs
- NavigatorInput.cs
- PerfCounters.cs
- EqualityArray.cs
- SoapTypeAttribute.cs
- OpenTypeLayoutCache.cs
- WebWorkflowRole.cs
- ImageClickEventArgs.cs
- DBSqlParser.cs
- TextOnlyOutput.cs
- TCEAdapterGenerator.cs
- EventlogProvider.cs
- SaveFileDialog.cs
- PersonalizationStateInfoCollection.cs
- XmlChoiceIdentifierAttribute.cs