Files
2026-04-17 14:55:32 -04:00

9.0 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.Common.Utilities/Properties/AssemblyInfo.cs
Common/DTS.Common.Utilities/Properties/Resources.Designer.cs
2026-04-17T15:41:14.355961+00:00 zai-org/GLM-5-FP8 1 b85bddefb00e1aef

DTS.Common.Utilities Documentation

1. Purpose

This module serves as a common utilities library for the DTS system, providing shared infrastructure for logging, property validation, attribute encoding/decoding, and exception handling. It exists to centralize reusable components that support other DTS applications, including configuration management and diagnostic capabilities. The assembly version is 1.0.0.0, with copyright from 2008.


2. Public Interface

Resources Class (Internal)

Namespace: DTS.Common.Utilities.Properties

Signature:

internal class Resources

A strongly-typed resource class generated by StronglyTypedResourceBuilder for looking up localized strings.

Properties

Property Type Description
ResourceManager global::System.Resources.ResourceManager Returns the cached ResourceManager instance used by this class. Initialized with base name "DTS.Utilities.Properties.Resources".
Culture global::System.Globalization.CultureInfo Overrides the current thread's CurrentUICulture for resource lookups.

Resource String Properties (Static Getters)

The following static string properties are exposed for use by other components in the assembly:

APILogger Resources:

  • APILogging_DateTime_Format — Format string "yyyy-MM-dd HH:mm:ss.fff"
  • APILogging_ExceptionFormatter_ExceptionOfTypeOccurredString — Format "{0}An {1}exception of type: {2} occurred"
  • APILogging_ExceptionFormatter_InnerIndicationString"inner "
  • APILogging_ExceptionFormatter_NonInnerIndicationString — Empty string
  • APILogging_ExceptionMessageDisplayString — Format "{0}Message: {1}"
  • APILogging_LevelSeperatorString"=== "
  • APILogging_LogEntrySeperatorString — Separator line " ========================================"
  • APILogging_LogException_NullWriterDelegateString — Error message for null writer delegate
  • APILogging_LogString_NullWriterDelegateString — Error message for null writer delegate
  • APILogging_ModuleNameDisplayString — Format " {0}Module: {1}, Name: {2}"
  • APILogging_StackTraceDisplayString — Format " {0}StackTrace: {1}"

AttributeCoder Resources:

  • AttributeCoder_AttributeCoder_NullAttributeValueExtractionMethodReferenceString
  • AttributeCoder_DecodeAttributeExceptionString
  • AttributeCoder_DecodeAttributesExceptionString
  • AttributeCoder_DehashAttributeValue_DehashAttributeValueExceptionString
  • AttributeCoder_DehashAttributeValue_UnableToMatchAttributeValueWithTargetString
  • AttributeCoder_EncodeAttributeExceptionString
  • AttributeCoder_NoTypeAttributesFoundOnTargetString
  • AttributeCoder_UnableToFindTargetTypeMappingString

Exceptional Resources:

  • Exceptional_GenerateMessageFromExceptionTree_BecauseString" because"
  • Exceptional_GenerateMessageFromExceptionTree_EndsWithFormatString — Format "{0}{1}"
  • Exceptional_GenerateMessageFromExceptionTree_ErrorTextTerminatorString"."
  • Exceptional_GenerateMessageFromExceptionTree_MessageFormatString — Format "{0}{1}{2}"

Property Validation Resources:

  • PowerOfTwoProperty_GetInvalidValueDescription_ProposedValueIsNotPowerOf2String
  • PowerOfTwoProperty_GetInvalidValueDescription_UnableToGetDescriptionString
  • PowerOfTwoProperty_IsPowerOf2_UnableToDeterminePowerOf2nessString
  • PowerOfTwoProperty_IsValidValue_UnableToDetermineValidityString
  • Property_GetInvalidValueDescription_CouldNotSetToValueString
  • Property_GetInvalidValueDescription_GetDescriptionFailedString
  • Property_Value_CouldNotGetValueString
  • Property_Value_CouldNotSetValueString
  • Property_Value_NotInitializedString

RangeRestrictedDoubleProperty Resources:

  • RangeRestrictedDoubleProperty_GetInvalidValueDescription_GetDescriptionFailedString
  • RangeRestrictedDoubleProperty_GetInvalidValueDescription_MaximumDescriptionString
  • RangeRestrictedDoubleProperty_GetInvalidValueDescription_MinimumDescriptionString
  • RangeRestrictedDoubleProperty_GetInvalidValueDescription_ValidValueDescriptionString
  • RangeRestrictedDoubleProperty_IsValidValue_UnableToDetermineValidityString
  • RangeRestrictedDoubleProperty_MaximumValue_GetValueFailedString
  • RangeRestrictedDoubleProperty_MaximumValue_SetValueFailedString
  • RangeRestrictedDoubleProperty_MinimumValue_GetValueFailedString
  • RangeRestrictedDoubleProperty_MinimumValue_SetValueFailedString
  • RangeRestrictedDoubleProperty_MinMustBeLessThanMaxString

RangeRestrictedIntProperty Resources:

  • RangeRestrictedIntProperty_GetInvalidValueDescription_GetDescriptionFailedString
  • RangeRestrictedIntProperty_GetInvalidValueDescription_MaximumDescriptionString
  • RangeRestrictedIntProperty_GetInvalidValueDescription_MinimumDescriptionString
  • RangeRestrictedIntProperty_GetInvalidValueDescription_ValidValueDescriptionString
  • RangeRestrictedIntProperty_IsValidValue_UnableToDetermineValidityString
  • RangeRestrictedIntProperty_MaximumValue_GetValueFailedString
  • RangeRestrictedIntProperty_MaximumValue_SetValueFailedString
  • RangeRestrictedIntProperty_MinimumValue_GetValueFailedString
  • RangeRestrictedIntProperty_MinimumValue_SetValueFailedString
  • RangeRestrictedIntProperty_MinMustBeLessThanMaxString

TextLogger Resources:

  • TextLogger_AddMessage_LoggerNotRunningString
  • TextLogger_Dispose_WriteThreadExitFailureString
  • TextLogger_Dispose_WriteThreadResponseTimeoutString
  • TextLogger_Start_LoggerAlreadyRunningString
  • TextLogger_Start_NullEmptyFilenameString
  • TextLogger_Start_NullEmptyFolderString
  • TextLogger_Start_WriteThreadResponseTimeoutString
  • TextLogger_Start_WriteThreadStartFailureString
  • TextLogger_Stop_LoggerNotRunningString
  • TextLogger_Stop_WriteThreadResponseTimeoutString
  • TextLogger_Stop_WriteThreadStopFailureString
  • TextLogger_TextLogger_EnqueueWriterFailureString
  • TextLogger_TextLogger_NullCallbackString
  • TextLogger_TextLogger_WriteThreadStartTimeoutString
  • TextLogger_Writer_InvalidCommandString

Application Settings Resources:

  • ApplicationSettings"applicationSettings"
  • RegistryDataPROExe"DataPRO.exe"
  • NewSettingsCouldNotBeFound
  • NewSettingsCouldNotBeProcessed

Generic Resources:

  • Generic_EncounteredProblemConstructingClassString
  • Generic_NullIndicatorString"<null>"

3. Invariants

Based on the resource strings, the following invariants are enforced by components in this assembly:

  1. TextLogger Lifecycle: The logger must be started before adding messages or stopped, and must be stopped before starting again. Methods Start() and Stop() have mutual exclusion requirements.

  2. TextLogger Parameters: Folder and filename parameters to Start() cannot be null or blank.

  3. TextLogger Callback: The callback parameter in the constructor cannot be null.

  4. Range-Restricted Properties: Minimum value must be less than or equal to maximum value for both RangeRestrictedDoubleProperty and RangeRestrictedIntProperty.

  5. PowerOfTwoProperty: Values must be exact powers of two to be valid.

  6. APILogger Writer Delegate: Writer delegate must not be null when calling LogException() or LogString().

  7. AttributeCoder: Attribute value extraction method reference cannot be null.


4. Dependencies

This Module Depends On:

  • System.Reflection
  • System.Runtime.CompilerServices
  • System.Runtime.InteropServices
  • System.Resources (for ResourceManager)
  • System.Globalization (for CultureInfo)
  • System.CodeDom.Compiler
  • System.Diagnostics
  • System.ComponentModel

What Depends On This Module:

Unclear from source alone. The resource strings reference DataPRO.exe and DataPRO.exe.config, suggesting the DataPRO application is a consumer. The module appears designed as a general-purpose utilities library for DTS products.


5. Gotchas

  1. Namespace Inconsistency: The ResourceManager is initialized with base name "DTS.Utilities.Properties.Resources" (note: missing "Common."), while the class resides in DTS.Common.Utilities.Properties. This could cause runtime resource lookup failures if the .resx file location doesn't match.

  2. Auto-Generated File Warning: Resources.Designer.cs is auto-generated by a tool. Manual changes will be lost upon regeneration. The runtime version noted is 4.0.30319.42000 with generator version 17.0.0.0.

  3. COM Visibility: The assembly has ComVisible(false), meaning types are not visible to COM components by default.

  4. Internal Visibility: The Resources class is marked internal, so it's only accessible within this assembly, not to external consumers.

  5. Historical Context: The copyright date (2008) and the presence of thread-based logging (TextLogger) with explicit state management suggests this codebase predates modern async/await patterns and may use older threading models.