--- source_files: - DataPRO/Modules/SystemSettings/ISOSettings/Properties/AssemblyInfo.cs - DataPRO/Modules/SystemSettings/ISOSettings/Properties/Annotations.cs generated_at: "2026-04-16T04:42:26.994226+00:00" model: "Qwen/Qwen3-Coder-Next-FP8" schema_version: 1 sha256: "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 caller’s parameter name (e.g., `ArgumentNullException`’s `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 attribute’s `[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; it’s 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.)*