Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / Diagnostics / TraceUtils.cs / 1 / TraceUtils.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System.Configuration; using System; using System.IO; using System.Reflection; using System.Globalization; using System.Collections; using System.Collections.Specialized; namespace System.Diagnostics { internal static class TraceUtils { internal static object GetRuntimeObject(string className, Type baseType, string initializeData) { Object newObject = null; Type objectType = null; if (className.Length == 0) { throw new ConfigurationErrorsException(SR.GetString(SR.EmptyTypeName_NotAllowed)); } objectType = Type.GetType(className); if (objectType == null) { throw new ConfigurationErrorsException(SR.GetString(SR.Could_not_find_type, className)); } if (!baseType.IsAssignableFrom(objectType)) throw new ConfigurationErrorsException(SR.GetString(SR.Incorrect_base_type, className, baseType.FullName)); Exception innerException = null; try { if (String.IsNullOrEmpty(initializeData)) { if (IsOwnedTextWriterTL(objectType)) throw new ConfigurationErrorsException(SR.GetString(SR.TextWriterTL_DefaultConstructor_NotSupported)); // create an object with parameterless constructor ConstructorInfo ctorInfo = objectType.GetConstructor(new Type[] {}); if (ctorInfo == null) throw new ConfigurationErrorsException(SR.GetString(SR.Could_not_get_constructor, className)); newObject = ctorInfo.Invoke(new object[] {}); } else { // create an object with a one-string constructor // first look for a string constructor ConstructorInfo ctorInfo = objectType.GetConstructor(new Type[] { typeof(string) }); if (ctorInfo != null) { // Special case to enable specifying relative path to trace file from config for // our own TextWriterTraceListener derivatives. We will prepend it with fullpath // prefix from config file location if (IsOwnedTextWriterTL(objectType)) { if ((initializeData[0] != Path.DirectorySeparatorChar) && (initializeData[0] != Path.AltDirectorySeparatorChar) && !Path.IsPathRooted(initializeData)) { string filePath = DiagnosticsConfiguration.ConfigFilePath; if (!String.IsNullOrEmpty(filePath)) { string dirPath = Path.GetDirectoryName(filePath); if (dirPath != null) initializeData = Path.Combine(dirPath, initializeData); } } } newObject = ctorInfo.Invoke(new object[] { initializeData }); } else { // now look for another 1 param constructor. ConstructorInfo[] ctorInfos = objectType.GetConstructors(); if (ctorInfos == null) throw new ConfigurationErrorsException(SR.GetString(SR.Could_not_get_constructor, className)); for (int i=0; i
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CoreSwitches.cs
- BamlVersionHeader.cs
- DataGridClipboardHelper.cs
- SignedXmlDebugLog.cs
- SqlInternalConnectionTds.cs
- ClickablePoint.cs
- SoapEnumAttribute.cs
- EntityDataSourceView.cs
- UpDownBaseDesigner.cs
- WindowsIPAddress.cs
- WebServiceParameterData.cs
- RuleSettingsCollection.cs
- EUCJPEncoding.cs
- SpecialFolderEnumConverter.cs
- DecimalAnimationBase.cs
- ExpressionNode.cs
- WebServiceMethodData.cs
- SchemaTableOptionalColumn.cs
- SubpageParaClient.cs
- PrintingPermissionAttribute.cs
- UICuesEvent.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- InputMethodStateTypeInfo.cs
- StreamingContext.cs
- ListItem.cs
- XmlWrappingReader.cs
- LicenseContext.cs
- NativeMethods.cs
- SplitterPanelDesigner.cs
- ValidationError.cs
- OleDbDataReader.cs
- ImpersonateTokenRef.cs
- XmlSchemaValidationException.cs
- BinaryCommonClasses.cs
- ConnectionPoint.cs
- OleDbError.cs
- FrugalList.cs
- DecoderFallbackWithFailureFlag.cs
- FilteredAttributeCollection.cs
- PersonalizationStateQuery.cs
- Random.cs
- ToolStripDropDownMenu.cs
- FloaterBaseParagraph.cs
- Monitor.cs
- WebPartConnectionCollection.cs
- ConfigurationSectionGroupCollection.cs
- Point4D.cs
- SvcMapFileLoader.cs
- DataFormats.cs
- Simplifier.cs
- CompilerGeneratedAttribute.cs
- XamlVector3DCollectionSerializer.cs
- DesignerActionPropertyItem.cs
- X509ChainPolicy.cs
- AspNetHostingPermission.cs
- LocalizableResourceBuilder.cs
- AccessorTable.cs
- PropertyStore.cs
- XmlSiteMapProvider.cs
- CapabilitiesRule.cs
- TextDocumentView.cs
- SecurityManager.cs
- HttpProfileGroupBase.cs
- AudioDeviceOut.cs
- RankException.cs
- safesecurityhelperavalon.cs
- HelpProvider.cs
- Relationship.cs
- Point3DConverter.cs
- SessionEndedEventArgs.cs
- Transform.cs
- HyperLinkStyle.cs
- RewritingValidator.cs
- Border.cs
- ErrorCodes.cs
- WebScriptEnablingBehavior.cs
- DiagnosticEventProvider.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- HashStream.cs
- Page.cs
- GlyphShapingProperties.cs
- DataGridViewDataConnection.cs
- CodeDirectiveCollection.cs
- ParameterCollection.cs
- AppDomainShutdownMonitor.cs
- SvcMapFile.cs
- ScaleTransform3D.cs
- CharacterHit.cs
- Material.cs
- SubclassTypeValidatorAttribute.cs
- FormViewActionList.cs
- AsyncOperationManager.cs
- dtdvalidator.cs
- KeyValueSerializer.cs
- Mapping.cs
- ConfigUtil.cs
- DnsEndPoint.cs
- Input.cs
- WpfPayload.cs
- QueryConverter.cs