Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / CompMod / System / Diagnostics / SourceElementsCollection.cs / 1 / SourceElementsCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Xml;
namespace System.Diagnostics {
[ConfigurationCollection(typeof(SourceElement), AddItemName = "source",
CollectionType = ConfigurationElementCollectionType.BasicMap)]
internal class SourceElementsCollection : ConfigurationElementCollection {
new public SourceElement this[string name] {
get {
return (SourceElement) BaseGet(name);
}
}
protected override string ElementName {
get {
return "source";
}
}
public override ConfigurationElementCollectionType CollectionType {
get {
return ConfigurationElementCollectionType.BasicMap;
}
}
protected override ConfigurationElement CreateNewElement() {
SourceElement se = new SourceElement();
se.Listeners.InitializeDefaultInternal();
return se;
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((SourceElement) element).Name;
}
}
internal class SourceElement : ConfigurationElement {
private static readonly ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName = new ConfigurationProperty("name", typeof(string), "", ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propSwitchName = new ConfigurationProperty("switchName", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propSwitchValue = new ConfigurationProperty("switchValue", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propSwitchType = new ConfigurationProperty("switchType", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propListeners = new ConfigurationProperty("listeners", typeof(ListenerElementsCollection), new ListenerElementsCollection(), ConfigurationPropertyOptions.None);
private Hashtable _attributes;
static SourceElement() {
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propSwitchName);
_properties.Add(_propSwitchValue);
_properties.Add(_propSwitchType);
_properties.Add(_propListeners);
}
public Hashtable Attributes {
get {
if (_attributes == null)
_attributes = new Hashtable(StringComparer.OrdinalIgnoreCase);
return _attributes;
}
}
[ConfigurationProperty("listeners")]
public ListenerElementsCollection Listeners {
get {
return (ListenerElementsCollection) this[_propListeners];
}
}
[ConfigurationProperty("name", IsRequired=true, DefaultValue="")]
public string Name {
get {
return (string) this[_propName];
}
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("switchName")]
public string SwitchName {
get {
return (string) this[_propSwitchName];
}
}
[ConfigurationProperty("switchValue")]
public string SwitchValue {
get {
return (string) this[_propSwitchValue];
}
}
[ConfigurationProperty("switchType")]
public string SwitchType {
get {
return (string) this[_propSwitchType];
}
}
protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey)
{
base.DeserializeElement(reader, serializeCollectionKey);
if (!String.IsNullOrEmpty(SwitchName) && !String.IsNullOrEmpty(SwitchValue))
throw new ConfigurationErrorsException(SR.GetString(SR.Only_specify_one, Name));
}
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(_propSwitchName);
_properties.Add(_propSwitchValue);
_properties.Add(_propSwitchType);
_properties.Add(_propListeners);
}
}
}
}
// 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;
using System.Xml;
namespace System.Diagnostics {
[ConfigurationCollection(typeof(SourceElement), AddItemName = "source",
CollectionType = ConfigurationElementCollectionType.BasicMap)]
internal class SourceElementsCollection : ConfigurationElementCollection {
new public SourceElement this[string name] {
get {
return (SourceElement) BaseGet(name);
}
}
protected override string ElementName {
get {
return "source";
}
}
public override ConfigurationElementCollectionType CollectionType {
get {
return ConfigurationElementCollectionType.BasicMap;
}
}
protected override ConfigurationElement CreateNewElement() {
SourceElement se = new SourceElement();
se.Listeners.InitializeDefaultInternal();
return se;
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((SourceElement) element).Name;
}
}
internal class SourceElement : ConfigurationElement {
private static readonly ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propName = new ConfigurationProperty("name", typeof(string), "", ConfigurationPropertyOptions.IsRequired);
private static readonly ConfigurationProperty _propSwitchName = new ConfigurationProperty("switchName", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propSwitchValue = new ConfigurationProperty("switchValue", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propSwitchType = new ConfigurationProperty("switchType", typeof(string), null, ConfigurationPropertyOptions.None);
private static readonly ConfigurationProperty _propListeners = new ConfigurationProperty("listeners", typeof(ListenerElementsCollection), new ListenerElementsCollection(), ConfigurationPropertyOptions.None);
private Hashtable _attributes;
static SourceElement() {
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propName);
_properties.Add(_propSwitchName);
_properties.Add(_propSwitchValue);
_properties.Add(_propSwitchType);
_properties.Add(_propListeners);
}
public Hashtable Attributes {
get {
if (_attributes == null)
_attributes = new Hashtable(StringComparer.OrdinalIgnoreCase);
return _attributes;
}
}
[ConfigurationProperty("listeners")]
public ListenerElementsCollection Listeners {
get {
return (ListenerElementsCollection) this[_propListeners];
}
}
[ConfigurationProperty("name", IsRequired=true, DefaultValue="")]
public string Name {
get {
return (string) this[_propName];
}
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("switchName")]
public string SwitchName {
get {
return (string) this[_propSwitchName];
}
}
[ConfigurationProperty("switchValue")]
public string SwitchValue {
get {
return (string) this[_propSwitchValue];
}
}
[ConfigurationProperty("switchType")]
public string SwitchType {
get {
return (string) this[_propSwitchType];
}
}
protected override void DeserializeElement(XmlReader reader, bool serializeCollectionKey)
{
base.DeserializeElement(reader, serializeCollectionKey);
if (!String.IsNullOrEmpty(SwitchName) && !String.IsNullOrEmpty(SwitchValue))
throw new ConfigurationErrorsException(SR.GetString(SR.Only_specify_one, Name));
}
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(_propSwitchName);
_properties.Add(_propSwitchValue);
_properties.Add(_propSwitchType);
_properties.Add(_propListeners);
}
}
}
}
// 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
- ToolStripItemDesigner.cs
- LogManagementAsyncResult.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- ByteStreamGeometryContext.cs
- RadioButtonList.cs
- PackUriHelper.cs
- Label.cs
- BrowserCapabilitiesFactoryBase.cs
- AccessibleObject.cs
- Page.cs
- HttpCookie.cs
- AdornerDecorator.cs
- ApplicationDirectory.cs
- DuplicateMessageDetector.cs
- FontCacheUtil.cs
- TimeSpanSecondsConverter.cs
- RoutedEventHandlerInfo.cs
- CharConverter.cs
- FileVersionInfo.cs
- ListViewDeletedEventArgs.cs
- UrlUtility.cs
- XmlILAnnotation.cs
- PointAnimationClockResource.cs
- SqlClientMetaDataCollectionNames.cs
- MetaForeignKeyColumn.cs
- NavigationPropertyEmitter.cs
- XamlVector3DCollectionSerializer.cs
- SqlStatistics.cs
- MeasurementDCInfo.cs
- ByteStorage.cs
- ProfileInfo.cs
- NetNamedPipeSecurity.cs
- XmlProcessingInstruction.cs
- SymbolTable.cs
- KnownTypesProvider.cs
- WebServiceMethodData.cs
- Base64Encoding.cs
- TabRenderer.cs
- UserControl.cs
- SplitterEvent.cs
- OracleDateTime.cs
- counter.cs
- WebMessageEncodingElement.cs
- BinaryFormatterSinks.cs
- Compilation.cs
- BitmapEffectInput.cs
- DataFormat.cs
- NamespaceList.cs
- MulticastNotSupportedException.cs
- MenuItemStyle.cs
- HMACMD5.cs
- QueryableDataSource.cs
- VBCodeProvider.cs
- DoWhileDesigner.xaml.cs
- RichTextBoxContextMenu.cs
- DataShape.cs
- mediaeventshelper.cs
- BasePropertyDescriptor.cs
- ScriptReference.cs
- ContentElement.cs
- ClientBuildManager.cs
- ControlBindingsCollection.cs
- StylusShape.cs
- MouseButton.cs
- XmlBaseReader.cs
- XmlBinaryReader.cs
- ImageConverter.cs
- NeutralResourcesLanguageAttribute.cs
- ComponentCollection.cs
- TemplateBindingExpressionConverter.cs
- Listener.cs
- SchemaContext.cs
- CultureInfo.cs
- WpfSharedBamlSchemaContext.cs
- _DomainName.cs
- WindowsTooltip.cs
- RegexParser.cs
- CustomCredentialPolicy.cs
- ScriptManager.cs
- RegexCharClass.cs
- RuleRef.cs
- InstanceDataCollection.cs
- HttpRawResponse.cs
- X509Certificate2Collection.cs
- ArgumentValue.cs
- DataGridTablesFactory.cs
- ThemeDirectoryCompiler.cs
- SymLanguageVendor.cs
- ClrPerspective.cs
- RetriableClipboard.cs
- AsymmetricCryptoHandle.cs
- GeneralTransform3DTo2D.cs
- PersonalizableAttribute.cs
- PenThread.cs
- ConstantProjectedSlot.cs
- InheritedPropertyChangedEventArgs.cs
- WinFormsSpinner.cs
- TabControl.cs
- CodePageUtils.cs
- StoreItemCollection.cs