Skip to content

[64.1] StrategyExtensions: add C# 14 extension properties for int, string, and IList<T>#129

Merged
kommundsen merged 1 commit intomainfrom
feat/64-124-strategyextensions-extension-properties
Apr 10, 2026
Merged

[64.1] StrategyExtensions: add C# 14 extension properties for int, string, and IList<T>#129
kommundsen merged 1 commit intomainfrom
feat/64-124-strategyextensions-extension-properties

Conversation

@kommundsen
Copy link
Copy Markdown
Owner

Description

Adds C# 14 extension blocks to StrategyExtensionProperties.cs with blessed filter properties:

  • Strategy<int>.Positive, .Negative, .NonZero
  • Strategy<string>.NonEmpty
  • Strategy<List<T>>.NonEmpty

All properties are backed by .Where() with XML doc noting the filter-budget caveat for tight ranges. PublicAPI.Unshipped.txt updated with correct nullability-annotated extension block symbols (no pragma suppression required).

Type of change

  • New feature / strategy

Checklist

  • dotnet test src/ passes
  • New behavior is covered by tests (TDD: Red → Green → Refactor)
  • Follows .editorconfig code style

Closes #124
Part of #64

- Positive, Negative, NonZero on Strategy<int>; NonEmpty on Strategy<string> and Strategy<List<T>>
- Backed by .Where() with filter-budget caveat in XML docs
- PublicAPI.Unshipped.txt updated with correct nullability-annotated extension block symbols
@kommundsen kommundsen merged commit 4491abc into main Apr 10, 2026
1 check passed
@kommundsen kommundsen deleted the feat/64-124-strategyextensions-extension-properties branch April 10, 2026 19:42
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.

[64.1] StrategyExtensions: add C# 14 extension properties for int, string, and IList<T>

1 participant