Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / CompMod / System / Diagnostics / SwitchElementsCollection.cs / 1 / SwitchElementsCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
namespace System.Diagnostics {
[ConfigurationCollection(typeof(SwitchElement))]
internal class SwitchElementsCollection : ConfigurationElementCollection {
new public SwitchElement this[string name] {
get {
return (SwitchElement) BaseGet(name);
}
}
public override ConfigurationElementCollectionType CollectionType {
get {
return ConfigurationElementCollectionType.AddRemoveClearMap;
}
}
protected override ConfigurationElement CreateNewElement() {
return new SwitchElement();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((SwitchElement) element).Name;
}
}
internal class SwitchElement : ConfigurationElement {
private static readonly ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName = new ConfigurationProperty("name", typeof(string), "", ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
private static readonly ConfigurationProperty _propValue = new ConfigurationProperty("value", typeof(string), null, ConfigurationPropertyOptions.IsRequired);
private Hashtable _attributes;
static SwitchElement(){
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propValue);
}
public Hashtable Attributes {
get {
if (_attributes == null)
_attributes = new Hashtable(StringComparer.OrdinalIgnoreCase);
return _attributes;
}
}
[ConfigurationProperty("name", DefaultValue = "", IsRequired = true, IsKey = true)]
public string Name {
get {
return (string) this[_propName];
}
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("value", IsRequired = true)]
public string Value {
get {
return (string) this[_propValue];
}
}
protected override bool OnDeserializeUnrecognizedAttribute(String name, String value)
{
ConfigurationProperty _propDynamic = new ConfigurationProperty(name, typeof(string), value);
_properties.Add(_propDynamic);
base[_propDynamic] = value; // Add them to the property bag
Attributes.Add(name, value);
return true;
}
internal void ResetProperties()
{
// blow away any UnrecognizedAttributes that we have deserialized earlier
if (_attributes != null) {
_attributes.Clear();
_properties.Clear();
_properties.Add(_propName);
_properties.Add(_propValue);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
namespace System.Diagnostics {
[ConfigurationCollection(typeof(SwitchElement))]
internal class SwitchElementsCollection : ConfigurationElementCollection {
new public SwitchElement this[string name] {
get {
return (SwitchElement) BaseGet(name);
}
}
public override ConfigurationElementCollectionType CollectionType {
get {
return ConfigurationElementCollectionType.AddRemoveClearMap;
}
}
protected override ConfigurationElement CreateNewElement() {
return new SwitchElement();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((SwitchElement) element).Name;
}
}
internal class SwitchElement : ConfigurationElement {
private static readonly ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName = new ConfigurationProperty("name", typeof(string), "", ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsKey);
private static readonly ConfigurationProperty _propValue = new ConfigurationProperty("value", typeof(string), null, ConfigurationPropertyOptions.IsRequired);
private Hashtable _attributes;
static SwitchElement(){
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propValue);
}
public Hashtable Attributes {
get {
if (_attributes == null)
_attributes = new Hashtable(StringComparer.OrdinalIgnoreCase);
return _attributes;
}
}
[ConfigurationProperty("name", DefaultValue = "", IsRequired = true, IsKey = true)]
public string Name {
get {
return (string) this[_propName];
}
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("value", IsRequired = true)]
public string Value {
get {
return (string) this[_propValue];
}
}
protected override bool OnDeserializeUnrecognizedAttribute(String name, String value)
{
ConfigurationProperty _propDynamic = new ConfigurationProperty(name, typeof(string), value);
_properties.Add(_propDynamic);
base[_propDynamic] = value; // Add them to the property bag
Attributes.Add(name, value);
return true;
}
internal void ResetProperties()
{
// blow away any UnrecognizedAttributes that we have deserialized earlier
if (_attributes != null) {
_attributes.Clear();
_properties.Clear();
_properties.Add(_propName);
_properties.Add(_propValue);
}
}
}
}
// 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
- _AutoWebProxyScriptWrapper.cs
- XPathSelfQuery.cs
- SessionSymmetricTransportSecurityProtocolFactory.cs
- AstTree.cs
- PageOutputColor.cs
- OleDbReferenceCollection.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- HttpConfigurationContext.cs
- RealProxy.cs
- EntityTypeBase.cs
- ProxyGenerator.cs
- GenerateScriptTypeAttribute.cs
- XmlSchemaComplexContent.cs
- RepeatButtonAutomationPeer.cs
- EnumType.cs
- PageStatePersister.cs
- IdentifierService.cs
- Identifier.cs
- MatrixUtil.cs
- WebPartDisplayMode.cs
- FixedSOMTableRow.cs
- EntityContainer.cs
- WebPartDisplayMode.cs
- UseLicense.cs
- LocatorPart.cs
- DrawingContextDrawingContextWalker.cs
- MessageSmuggler.cs
- AutomationPatternInfo.cs
- DbSetClause.cs
- ObjectStorage.cs
- AnchoredBlock.cs
- PartialClassGenerationTaskInternal.cs
- PersianCalendar.cs
- DeclarativeCatalogPart.cs
- InternalPermissions.cs
- IgnoreFileBuildProvider.cs
- AutomationElement.cs
- DragEventArgs.cs
- ValidationErrorCollection.cs
- MarginsConverter.cs
- DataTableCollection.cs
- SqlDependencyListener.cs
- XmlCDATASection.cs
- DataGridViewLayoutData.cs
- Variable.cs
- XLinq.cs
- WithParamAction.cs
- DataColumnCollection.cs
- SimpleApplicationHost.cs
- DataGridCell.cs
- GridItemCollection.cs
- RawStylusInputReport.cs
- FixedBufferAttribute.cs
- WebSysDefaultValueAttribute.cs
- SystemIPAddressInformation.cs
- PerformanceCounterManager.cs
- TrackingServices.cs
- GenericEnumerator.cs
- TreeNodeSelectionProcessor.cs
- StyleCollection.cs
- XamlPointCollectionSerializer.cs
- WindowsTokenRoleProvider.cs
- ButtonChrome.cs
- WindowsTreeView.cs
- KeyConstraint.cs
- EntityDataSourceContainerNameConverter.cs
- TextModifier.cs
- EntityCollection.cs
- WebConfigurationManager.cs
- HierarchicalDataSourceControl.cs
- InternalControlCollection.cs
- ReflectionServiceProvider.cs
- RemoteWebConfigurationHostServer.cs
- RelatedPropertyManager.cs
- DesignerOptionService.cs
- PointCollectionValueSerializer.cs
- OSEnvironmentHelper.cs
- DataSourceCollectionBase.cs
- TemplatedAdorner.cs
- TextRunCache.cs
- HeaderUtility.cs
- QuadraticEase.cs
- ChannelCredentials.cs
- GradientStop.cs
- DebugView.cs
- DoubleAnimationUsingPath.cs
- ViewPort3D.cs
- ExtendedTransformFactory.cs
- HttpApplicationFactory.cs
- PartialTrustVisibleAssembly.cs
- EventLogInformation.cs
- DetailsViewPageEventArgs.cs
- AutomationPatternInfo.cs
- ScriptMethodAttribute.cs
- XmlHierarchicalEnumerable.cs
- HtmlElementCollection.cs
- ServiceReference.cs
- InputScopeConverter.cs
- User.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs