资源算法GuardClauses

GuardClauses

2020-01-03 | |  34 |   0 |   0

Guard Clauses

A simple package with guard clause extensions.

Give a Star! ⭐️

If you like or are using this project please give it a star. Thanks!

Usage

    public void ProcessOrder(Order order)
    {    	Guard.Against.Null(order, nameof(order));        // process order here
    }

Supported Guard Clauses

  • Guard.Against.Null (throws if input is null)

  • Guard.Against.NullOrEmpty (throws if string or array input is null or empty)

  • Guard.Against.NullOrWhiteSpace (throws if string input is null, empty or whitespace)

  • Guard.Against.OutOfRange (throws if integer/DateTime/enum input is outside a provided range)

  • Guard.Against.OutOfSQLDateRange (throws if DateTime input is outside the valid range of SQL Server DateTime values)

  • Guard.Against.Zero (throws if number input is zero)

Extending with your own Guard Clauses

To extend your own guards, you can do the following:

    // Using the same namespace will make sure your code picks up your 
    // extensions no matter where they are in your codebase.
    namespace Ardalis.GuardClauses
    {        public static class FooGuard
        {            public static void Foo(this IGuardClause guardClause, string input, string parameterName)
            {                if (input?.ToLower() == "foo")                    throw new ArgumentException("Should not have been foo!", parameterName);
            }
        }
    }    // Usage
    public void SomeMethod(string something)
    {        Guard.Against.Foo(something, nameof(something));
    }

References


上一篇:mediapipe-issue200

下一篇:sentence-transformers

用户评价
全部评价

热门资源

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • shih-styletransfer

    shih-styletransfer Code from Style Transfer ...