Summary
Resolve remaining CA warnings in Domain and ServiceDefaults projects.
CA1000 (3) — Static members on generic types (Result.cs)
Result<T> has static factory methods (Ok, Fail, OkOrFail). Move them to the non-generic Result class or suppress with justification if intentional design.
CA2225 (2) — Operator overloads without named alternates (Result.cs)
Implicit operators need named alternates (ToResult / FromT methods).
CA1062 (2) — Parameter null validation
ValidationBehavior.cs: validate next parameter is non-null
ServiceDefaults/Extensions.cs: validate app parameter is non-null in MapDefaultEndpoints
CA1307 (2) — Use StringComparison overload (ServiceDefaults/Extensions.cs lines 81-82)
Pass StringComparison.OrdinalIgnoreCase to StartsWithSegments calls.
CA1014 (4) — Assemblies not marked CLSCompliant
Add [assembly: CLSCompliant(false)] to AssemblyInfo files for Domain, ServiceDefaults, Web, and Domain.Tests.
Acceptance Criteria
- All listed warnings resolved (or suppressed with documented justification)
- Build and all tests pass
Summary
Resolve remaining CA warnings in Domain and ServiceDefaults projects.
CA1000 (3) — Static members on generic types (
Result.cs)Result<T>has static factory methods (Ok,Fail,OkOrFail). Move them to the non-genericResultclass or suppress with justification if intentional design.CA2225 (2) — Operator overloads without named alternates (
Result.cs)Implicit operators need named alternates (
ToResult/FromTmethods).CA1062 (2) — Parameter null validation
ValidationBehavior.cs: validatenextparameter is non-nullServiceDefaults/Extensions.cs: validateappparameter is non-null inMapDefaultEndpointsCA1307 (2) — Use StringComparison overload (
ServiceDefaults/Extensions.cslines 81-82)Pass
StringComparison.OrdinalIgnoreCasetoStartsWithSegmentscalls.CA1014 (4) — Assemblies not marked CLSCompliant
Add
[assembly: CLSCompliant(false)]to AssemblyInfo files for Domain, ServiceDefaults, Web, and Domain.Tests.Acceptance Criteria