Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / Diagnostics / TypedElement.cs / 1 / 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);
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;
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BindUriHelper.cs
- ListViewGroupItemCollection.cs
- HelpProvider.cs
- IgnoreSectionHandler.cs
- _TLSstream.cs
- CqlIdentifiers.cs
- COM2PropertyDescriptor.cs
- ConnectionsZone.cs
- InteropBitmapSource.cs
- AppDomainManager.cs
- ProfileGroupSettingsCollection.cs
- WindowsFormsLinkLabel.cs
- NetworkInformationException.cs
- XPathDescendantIterator.cs
- CodeParameterDeclarationExpressionCollection.cs
- NavigationWindow.cs
- HttpCapabilitiesSectionHandler.cs
- LoginView.cs
- XmlLanguageConverter.cs
- ScrollContentPresenter.cs
- XmlReader.cs
- PageContent.cs
- PreviewPageInfo.cs
- ConnectionStringSettingsCollection.cs
- CodeIdentifier.cs
- PageRanges.cs
- Vector3DCollectionConverter.cs
- TextRangeEditLists.cs
- StructuralComparisons.cs
- ToolStripItemCollection.cs
- SendKeys.cs
- WindowVisualStateTracker.cs
- LinqDataSourceContextEventArgs.cs
- FocusManager.cs
- GrowingArray.cs
- MetricEntry.cs
- ScriptBehaviorDescriptor.cs
- CustomSignedXml.cs
- PatternMatcher.cs
- EventMap.cs
- NTAccount.cs
- SafeArrayRankMismatchException.cs
- Rotation3DAnimation.cs
- VersionPair.cs
- AssemblyCacheEntry.cs
- ValidationErrorEventArgs.cs
- UnauthorizedAccessException.cs
- UpDownBaseDesigner.cs
- XmlSerializerFaultFormatter.cs
- ImmutableCollection.cs
- VisualStyleTypesAndProperties.cs
- XmlSchemaComplexContentRestriction.cs
- DataChangedEventManager.cs
- GridViewUpdatedEventArgs.cs
- ColumnWidthChangingEvent.cs
- Clause.cs
- Matrix3DStack.cs
- ReflectionHelper.cs
- JournalNavigationScope.cs
- HostedTcpTransportManager.cs
- ExpressionBindings.cs
- ConnectionPoolManager.cs
- ConsoleKeyInfo.cs
- FunctionNode.cs
- EventSource.cs
- GeometryModel3D.cs
- ClientSideQueueItem.cs
- RegistrySecurity.cs
- Base64Decoder.cs
- HandledMouseEvent.cs
- OleDbPermission.cs
- ToolStripItemClickedEventArgs.cs
- UTF8Encoding.cs
- XmlLoader.cs
- MeasureItemEvent.cs
- AtomicFile.cs
- XslException.cs
- SystemIcmpV6Statistics.cs
- CompiledXpathExpr.cs
- EventWaitHandleSecurity.cs
- wmiprovider.cs
- Encoder.cs
- RawMouseInputReport.cs
- SecurityHeaderLayout.cs
- HtmlTable.cs
- TextHintingModeValidation.cs
- PlacementWorkspace.cs
- TaskFileService.cs
- UInt64Storage.cs
- VirtualStackFrame.cs
- TextMarkerSource.cs
- XmlHierarchicalDataSourceView.cs
- HttpConfigurationSystem.cs
- GuidConverter.cs
- DecimalConverter.cs
- SqlFactory.cs
- DescendentsWalker.cs
- NativeMethods.cs
- InvalidComObjectException.cs
- PlatformCulture.cs