Giter Site home page Giter Site logo

Comments (5)

ardalis avatar ardalis commented on May 18, 2024 1

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.

KyleMcMaster avatar KyleMcMaster commented on May 18, 2024

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.

fingers10 avatar fingers10 commented on May 18, 2024

@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.

KyleMcMaster avatar KyleMcMaster commented on May 18, 2024

@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.

fingers10 avatar fingers10 commented on May 18, 2024

again what about short or any other types?

from guardclauses.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.