Files
DP44/enriched-qwen3-coder-next/DataPRO/Modules/SystemSettings/ISOSettings/Properties.md
2026-04-17 14:55:32 -04:00

11 KiB
Raw Blame History

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
DataPRO/Modules/SystemSettings/ISOSettings/Properties/AssemblyInfo.cs
DataPRO/Modules/SystemSettings/ISOSettings/Properties/Annotations.cs
2026-04-16T04:42:26.994226+00:00 Qwen/Qwen3-Coder-Next-FP8 1 21be5491446b89ad

Properties

Documentation: ISOSettings Assembly (DataPRO Module)


1. Purpose

This module is the ISOSettings assembly, a .NET class library within the DataPRO system responsible for managing ISO-related system settings. Based on its name and placement under DataPRO/Modules/SystemSettings/ISOSettings, it likely encapsulates configuration logic, data models, and possibly UI-related components for handling ISO (International Organization for Standardization) standards—such as country codes, language codes, or other standardized identifiers used in system configuration. However, no implementation files (e.g., .cs source files beyond AssemblyInfo.cs and Annotations.cs) are provided, so the actual business logic, types, or public APIs beyond the annotation attributes are not visible in the given source. The assembly serves as a foundational module for system settings related to ISO standards, but its concrete functionality cannot be determined from the provided files.


2. Public Interface

The only publicly visible types in the provided source are the JetBrains.Annotations-style attributes defined in ISOSettings.Annotations. These are not functional logic but metadata annotations used for static analysis (e.g., by ReSharper or Rider). They are part of a local copy of JetBrains annotation library, re-packaged under the ISOSettings.Annotations namespace.

Below are the public attributes defined in Annotations.cs:

Name Signature Purpose
CanBeNullAttribute public sealed class CanBeNullAttribute : Attribute Indicates the annotated element may be null.
NotNullAttribute public sealed class NotNullAttribute : Attribute Indicates the annotated element must never be null.
ItemNotNullAttribute public sealed class ItemNotNullAttribute : Attribute For collections/Tasks/Lazy, indicates items/results are never null.
ItemCanBeNullAttribute public sealed class ItemCanBeNullAttribute : Attribute For collections/Tasks/Lazy, indicates items/results may be null.
ImplicitNotNullAttribute public sealed class ImplicitNotNullAttribute : Attribute Applies [NotNull]/[ItemNotNull] implicitly to all members in scope.
StringFormatMethodAttribute public sealed class StringFormatMethodAttribute : Attribute Marks methods that build strings from format patterns (e.g., string.Format). Constructor takes formatParameterName.
ValueProviderAttribute public sealed class ValueProviderAttribute : Attribute Indicates a parameter/property/field should be one of a limited set of values (e.g., enum-like). Constructor takes name (likely referencing a provider type).
InvokerParameterNameAttribute public sealed class InvokerParameterNameAttribute : Attribute For parameters expected to match a callers parameter name (e.g., ArgumentNullExceptions paramName).
NotifyPropertyChangedInvocatorAttribute public sealed class NotifyPropertyChangedInvocatorAttribute : Attribute Marks methods used to notify property changes (e.g., INotifyPropertyChanged). Optional constructor for parameterName.
ContractAnnotationAttribute public sealed class ContractAnnotationAttribute : Attribute Describes input/output behavior contracts (e.g., null => null; notnull => notnull). Constructor takes contract string.
LocalizationRequiredAttribute public sealed class LocalizationRequiredAttribute : Attribute Indicates an element requires localization. Constructor optional required (default true).
CannotApplyEqualityOperatorAttribute public sealed class CannotApplyEqualityOperatorAttribute : Attribute Indicates ==/!= should not be used (use Equals() instead).
BaseTypeRequiredAttribute public sealed class BaseTypeRequiredAttribute : Attribute Requires types using this attribute to implement a specific base type. Constructor takes baseType.
UsedImplicitlyAttribute public sealed class UsedImplicitlyAttribute : Attribute Marks elements used implicitly (e.g., via reflection) to suppress unused warnings. Has overloads with ImplicitUseKindFlags/ImplicitUseTargetFlags.
MeansImplicitUseAttribute public sealed class MeansImplicitUseAttribute : Attribute Applied to attributes to mark types using them as implicitly used. Has same flags overloads.
PublicAPIAttribute public sealed class PublicAPIAttribute : Attribute Marks publicly exposed API that should not be removed. Optional comment.
InstantHandleAttribute public sealed class InstantHandleAttribute : Attribute Indicates a delegate/IEnumerable parameter is consumed synchronously (e.g., executed/enumerated before method returns).
PureAttribute public sealed class PureAttribute : Attribute Indicates method has no side effects (like System.Diagnostics.Contracts.PureAttribute).
MustUseReturnValueAttribute public sealed class MustUseReturnValueAttribute : Attribute Indicates return value must be used. Optional justification.
ProvidesContextAttribute public sealed class ProvidesContextAttribute : Attribute Indicates a member provides a context value that should be used instead of alternatives.
PathReferenceAttribute public sealed class PathReferenceAttribute : Attribute Indicates a parameter is a file/folder path in a web project. Optional basePath.
SourceTemplateAttribute public sealed class SourceTemplateAttribute : Attribute Marks extension methods as source templates (e.g., for ReSharper live templates).
MacroAttribute public sealed class MacroAttribute : Attribute Specifies macros for SourceTemplate parameters (Expression, Editable, Target).
AspMvc* attributes (e.g., AspMvcActionAttribute, AspMvcAreaAttribute, etc.) Multiple public sealed class attributes ASP.NET MVC-specific annotations for view/controller/action resolution.
Razor* attributes (e.g., RazorSectionAttribute, RazorImportNamespaceAttribute) Multiple public sealed class attributes Razor view engine annotations (sections, imports, directives).
Xaml* attributes (e.g., XamlItemsControlAttribute) public sealed class attributes XAML-specific annotations for data context resolution.
HtmlElementAttributesAttribute, HtmlAttributeValueAttribute public sealed class attributes HTML attribute annotations for static analysis.
CollectionAccessAttribute public sealed class CollectionAccessAttribute : Attribute Indicates how a method affects collection contents. Constructor takes CollectionAccessType.
CollectionAccessType enum public enum CollectionAccessType Values: None, Read, ModifyExistingContent, UpdatedContent.
AssertionMethodAttribute, AssertionConditionAttribute public sealed class attributes Marks assertion methods (e.g., Guard.NotNull(...)) and their condition parameters.
AssertionConditionType enum public enum AssertionConditionType Values: IS_TRUE, IS_FALSE, IS_NULL, IS_NOT_NULL.
TerminatesProgramAttribute [Obsolete] public sealed class TerminatesProgramAttribute : Attribute Obsolete; use [ContractAnnotation("=> halt")] instead.
LinqTunnelAttribute, NoEnumerationAttribute, RegexPatternAttribute public sealed class attributes LINQ, enumeration, and regex pattern annotations.
NoReorder public sealed class NoReorder : Attribute Prevents member reordering in IDEs.

Note

: None of these attributes contain executable logic. They are purely metadata for tooling.


3. Invariants

  • No runtime behavior: The attributes defined here are compile-time-only annotations. They have no effect at runtime unless consumed by a static analyzer (e.g., ReSharper).
  • Attribute usage constraints: Each attributes [AttributeUsage(...)] enforces where it can be applied (e.g., NotNullAttribute may be applied to methods, parameters, properties, etc., but not to assemblies).
  • No validation of attribute usage: The attributes themselves do not enforce correctness; misuse (e.g., applying [NotNull] to a value that is null) will not cause runtime exceptions.
  • No public API surface beyond attributes: Since no other source files are provided, there are no classes, methods, or interfaces whose invariants can be documented.

4. Dependencies

Dependencies of this assembly:

  • .NET Framework (implied by System.* namespaces and AssemblyInfo.cs style).
  • JetBrains.Annotations (via the Annotations.cs file, which is a verbatim copy of JetBrains annotation library, repackaged here).
    • This is not a runtime dependency; its a source dependency for static analysis tooling.
    • The Annotations.cs file includes the MIT license from JetBrains.

Dependencies on this assembly:

  • Unknown — no other modules or projects are referenced in the provided source.
  • Since this is an assembly (AssemblyInfo.cs), it is likely referenced by other modules in the DataPRO system (e.g., SystemSettings or UI modules), but this is inferred from folder structure, not source.

5. Gotchas

  • Misleading namespace: The ISOSettings.Annotations namespace suggests this module contains ISO-related logic, but the provided files only contain annotations—not actual ISO settings implementation. This may confuse developers expecting business logic.
  • No versioning in annotations: The Annotations.cs file is a static copy of JetBrains annotations (copyright 2016). It may be outdated relative to newer JetBrains annotation versions (e.g., missing newer attributes like [NotNullForRef], [SuppressMessage], etc.).
  • No documentation comments for attributes: While XML doc comments exist, they are minimal and copied from JetBrains original. Developers should verify behavior in context of their static analyzer.
  • [ComVisible(false)]: The assembly is not visible to COM (ComVisible(false)), which may matter if interoperating with legacy COM components.
  • Hardcoded GUID: The Guid("7446722e-490d-4f6a-beaf-907947e576d5") is fixed. Changing it may break COM interop or strong-naming if used elsewhere.
  • Assembly version 1.0.0.0: Both AssemblyVersion and AssemblyFileVersion are 1.0.0.0. This may indicate incomplete versioning or a placeholder.

None identified from source alone.
(Note: The above gotchas are inferred from structure and content of the provided files, not runtime behavior.)