Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Diagnostics / TypedElement.cs / 1305376 / TypedElement.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
using System.Configuration;
using System;
using System.Reflection;
using System.Globalization;
namespace System.Diagnostics {
internal class TypedElement : ConfigurationElement {
protected static readonly ConfigurationProperty _propTypeName = new ConfigurationProperty("type", typeof(string), String.Empty, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsTypeStringTransformationRequired);
protected static readonly ConfigurationProperty _propInitData = new ConfigurationProperty("initializeData", typeof(string), String.Empty, ConfigurationPropertyOptions.None);
protected ConfigurationPropertyCollection _properties;
protected object _runtimeObject = null;
private Type _baseType;
public TypedElement(Type baseType) : base() {
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propTypeName);
_properties.Add(_propInitData);
_baseType = baseType;
}
[ConfigurationProperty("initializeData", DefaultValue = "")]
public string InitData {
get {
return (string) this[_propInitData];
}
// This is useful when the OM becomes public. In the meantime, this can be utilized via reflection
set {
this[_propInitData] = value;
}
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("type", IsRequired = true, DefaultValue = "")]
public virtual string TypeName {
get {
return (string) this[_propTypeName];
}
set {
this[_propTypeName] = value;
}
}
protected object BaseGetRuntimeObject() {
if (_runtimeObject == null)
_runtimeObject = TraceUtils.GetRuntimeObject(TypeName, _baseType, InitData);
return _runtimeObject;
}
}
}
// 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
- XmlMapping.cs
- AsyncStreamReader.cs
- BridgeDataReader.cs
- ZoneMembershipCondition.cs
- securitycriticaldata.cs
- FontStyles.cs
- GridViewUpdatedEventArgs.cs
- ApplicationDirectoryMembershipCondition.cs
- CodeRegionDirective.cs
- ConstrainedGroup.cs
- ServiceModelInstallComponent.cs
- HTTPNotFoundHandler.cs
- FormViewModeEventArgs.cs
- SvcMapFileSerializer.cs
- DesignerForm.cs
- Section.cs
- DropShadowEffect.cs
- AudioDeviceOut.cs
- Label.cs
- NativeMethods.cs
- ObjectQueryExecutionPlan.cs
- InternalConfigEventArgs.cs
- TreeWalker.cs
- KeyToListMap.cs
- GetPageCompletedEventArgs.cs
- FlowchartDesignerCommands.cs
- Rijndael.cs
- SqlMethodCallConverter.cs
- CommonRemoteMemoryBlock.cs
- XPathDocumentNavigator.cs
- TranslateTransform3D.cs
- IsolatedStorageFilePermission.cs
- Calendar.cs
- WindowsButton.cs
- TreeViewBindingsEditor.cs
- ColumnHeader.cs
- CommandDesigner.cs
- UnsafeNativeMethods.cs
- XmlSerializerNamespaces.cs
- TextDecorationCollection.cs
- OpacityConverter.cs
- NativeMethods.cs
- XmlTypeMapping.cs
- PingOptions.cs
- AnnotationHighlightLayer.cs
- webeventbuffer.cs
- TableAdapterManagerGenerator.cs
- EntitySqlQueryState.cs
- SerializationFieldInfo.cs
- CodeRemoveEventStatement.cs
- ObjectToken.cs
- Type.cs
- WhiteSpaceTrimStringConverter.cs
- StrongName.cs
- ContractMapping.cs
- Win32KeyboardDevice.cs
- SystemException.cs
- DtdParser.cs
- UnmanagedBitmapWrapper.cs
- ZoneLinkButton.cs
- KeyValueConfigurationCollection.cs
- GridViewCancelEditEventArgs.cs
- RuleSettingsCollection.cs
- OlePropertyStructs.cs
- ImageClickEventArgs.cs
- GenerateTemporaryTargetAssembly.cs
- XamlWriter.cs
- TimeSpanMinutesConverter.cs
- SizeIndependentAnimationStorage.cs
- BuildProviderCollection.cs
- Vector3DKeyFrameCollection.cs
- TableLayoutPanelBehavior.cs
- bidPrivateBase.cs
- DocumentScope.cs
- ReadingWritingEntityEventArgs.cs
- QueryableDataSourceView.cs
- Translator.cs
- Aggregates.cs
- _ProxyChain.cs
- SqlCharStream.cs
- OpenFileDialog.cs
- DebugView.cs
- UniqueID.cs
- CFGGrammar.cs
- WinCategoryAttribute.cs
- MatrixTransform3D.cs
- SqlCacheDependencySection.cs
- JavaScriptString.cs
- MutexSecurity.cs
- SerializationException.cs
- ScaleTransform3D.cs
- SiteMapPath.cs
- DataViewSetting.cs
- ExpandSegmentCollection.cs
- Int64Animation.cs
- AccessedThroughPropertyAttribute.cs
- String.cs
- StructuredTypeEmitter.cs
- CancellationTokenRegistration.cs
- ConstructorNeedsTagAttribute.cs