Comments (5)
The current pattern followed by other guards as well is to keep the generic helper private and write concrete non-generic public extension methods. I think while this means writing a little more code it provides an opportunity to vary the behavior if needed in the specific extension instead of adding conditional logic to the generic method.
So, I think I’ll keep the generic method private but will take PRs for whatever concrete types are needed.
from guardclauses.
Hello!
Rather than marking the OutOfRange
method cited above as public, would it be better to implement another extension method specifically for the Decimal
type?
Something like:
public static void OutOfRange(this IGuardClause guardClause, Decimal input, string parameterName, Decimal rangeFrom, Decimal rangeTo)
I can put in a PR for the above if needed. :)
from guardclauses.
@KyleMcMaster what if you need for some other type in future? Instead of keep adding new extension making it public would help right?
from guardclauses.
@fingers10 It appears OutOfRange
has been kept private for a reason, as a public implementation of it for int, datetime, and enum types already exists.
from guardclauses.
again what about short
or any other types?
from guardclauses.
Related Issues (20)
- Enhanced support for value types HOT 3
- Feature request: GuardComplete rider add-in HOT 1
- Support passing ParamName when using GuardAgainstExpression
- Make T nullable HOT 2
- Assign pull-requests: write permission to build action HOT 6
- Images
- Re-add JetBrains Annotations HOT 1
- CallerArgumentExpression No Longer Working When Targeting net6.0 HOT 9
- Localization and multi language support HOT 1
- Fix `AgainstExpression` to be `Expression` HOT 2
- Support .NET 6, .NET 7 AND .NET 8? HOT 1
- FluentValidation
- MaxLengthExceeded / TooLong HOT 2
- MinLength / TooShort
- LengthOutOfRange HOT 3
- Fix Build HOT 1
- Unify method signatures among frameworks HOT 2
- Can we support Expression on refrence type not only struct
- Typo in the StringTooLong error message HOT 2
- Namespace typo? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guardclauses.