Skip to content

Conversation

@damir-usmanov
Copy link
Member

Replaced manual nullability annotations with automatic detection:

  • Marked IsNullable in RqlPropertyAttribute as obsolete.
  • Added IsNullable method in MetadataFactory for runtime nullability checks.
  • Updated MetadataFactory to use automatic nullability detection.

Added comprehensive tests:

  • Verified nullability detection for value and reference types.
  • Ensured correct operator handling based on nullability.
  • Validated that obsolete IsNullable does not interfere.

These changes improve maintainability and ensure nullability is determined dynamically.

* Refactor namespaces and enhance code structure

Key changes include:
- Enhanced organization of the `RqlExpression` class with method regions for better readability.
- Updated `RqlOperators` and `RqlSelectModes` enums to include the `[Flags]` attribute for improved usability.
- Refactored `RqlPropertyAttribute` for streamlined handling of actions, operators, and selection modes.
- Introduced interfaces like `IRqlNode` and `IRqlQueryable` to promote better object-oriented design.
- Restructured `RqlSettings` and related classes for cohesive configuration management.
- Updated test files to ensure relevance and functionality with the new structure.

These changes aim to improve modularity, readability, and maintainability while adhering to modern C# practices.

* namespace adjustments

* IRqlMapAccessor moved to abstractions

* Refactor RQL configuration and result handling
Replaced manual nullability annotations with automatic detection:
- Marked `IsNullable` in `RqlPropertyAttribute` as obsolete.
- Added `IsNullable` method in `MetadataFactory` for runtime nullability checks.
- Updated `MetadataFactory` to use automatic nullability detection.

Added comprehensive tests:
- Verified nullability detection for value and reference types.
- Ensured correct operator handling based on nullability.
- Validated that obsolete `IsNullable` does not interfere.

These changes improve maintainability and ensure nullability is determined dynamically.
@damir-usmanov damir-usmanov requested a review from a team as a code owner November 7, 2025 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants