Class Predicate
Provides extension methods for type Predicate<T> and predefined predicates.
Inherited Members
Namespace: DotNext
Assembly: DotNext.dll
Syntax
public static class Predicate
Methods
| Edit this page View SourceAnd<T>(Predicate<T>, Predicate<T>)
Returns a predicate which computes logical AND between results of two other predicates.
Declaration
public static Predicate<T> And<T>(this Predicate<T> left, Predicate<T> right)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | left | The first predicate acting as logical AND operand. |
| Predicate<T> | right | The second predicate acting as logical AND operand. |
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate which computes logical AND between results of two other predicates. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of the predicate argument. |
AsConverter<T>(Predicate<T>)
Represents predicate as type Converter<TInput, TOutput>.
Declaration
public static Converter<T, bool> AsConverter<T>(this Predicate<T> predicate)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | predicate | A predicate to convert. |
Returns
| Type | Description |
|---|---|
| Converter<T, bool> | A delegate of type Converter<TInput, TOutput> referencing the same method as original predicate. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of predicate argument. |
AsFunc<T>(Predicate<T>)
Represents predicate as type Func<T, TResult>.
Declaration
public static Func<T, bool> AsFunc<T>(this Predicate<T> predicate)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | predicate | A predicate to convert. |
Returns
| Type | Description |
|---|---|
| Func<T, bool> | A delegate of type Func<T, TResult> referencing the same method as original predicate. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of predicate argument. |
Constant<T>(bool)
Returns a predicate which always returns the specified value.
Declaration
public static Predicate<T> Constant<T>(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | The value to be returned by the predicate. |
Returns
| Type | Description |
|---|---|
| Predicate<T> | A cached predicate always returning |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the input parameter. |
HasValue<T>()
Returns predicate checking that input argument of value type is not null.
Declaration
public static Predicate<T?> HasValue<T>() where T : struct
Returns
| Type | Description |
|---|---|
| Predicate<T?> | The predicate instance. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the predicate argument. |
Remarks
This method returns the same instance of predicate on every call.
IsNotNull<T>()
Returns predicate checking that input argument is not null.
Declaration
public static Predicate<T> IsNotNull<T>() where T : class?
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate instance. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the predicate argument. |
Remarks
This method returns the same instance of predicate on every call.
IsNull<T>()
Returns predicate implementing nullability check.
Declaration
public static Predicate<T> IsNull<T>() where T : class?
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate instance. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of predicate argument. |
Remarks
This method returns the same instance of predicate on every call.
IsTypeOf<T>()
Gets a predicate that can be used to check whether the specified object is of specific type.
Declaration
public static Predicate<object?> IsTypeOf<T>()
Returns
| Type | Description |
|---|---|
| Predicate<object> | The predicate instance. |
Type Parameters
| Name | Description |
|---|---|
| T | The target type. |
Negate<T>(Predicate<T>)
Returns a predicate which negates evaluation result of the original predicate.
Declaration
public static Predicate<T> Negate<T>(this Predicate<T> predicate)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | predicate | The predicate to negate. |
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate which negates evaluation result of the original predicate. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of the predicate argument. |
Or<T>(Predicate<T>, Predicate<T>)
Returns a predicate which computes logical OR between results of two other predicates.
Declaration
public static Predicate<T> Or<T>(this Predicate<T> left, Predicate<T> right)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | left | The first predicate acting as logical OR operand. |
| Predicate<T> | right | The second predicate acting as logical OR operand. |
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate which computes logical OR between results of two other predicates. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of the predicate argument. |
TryInvoke<T>(Predicate<T>, T)
Invokes predicate without throwing the exception.
Declaration
public static Result<bool> TryInvoke<T>(this Predicate<T> predicate, T obj)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | predicate | The predicate to invoke. |
| T | obj | The object to compare against the criteria defined within the method represented by this delegate. |
Returns
| Type | Description |
|---|---|
| Result<bool> | true if |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the object to compare. |
Xor<T>(Predicate<T>, Predicate<T>)
Returns a predicate which computes logical XOR between results of two other predicates.
Declaration
public static Predicate<T> Xor<T>(this Predicate<T> left, Predicate<T> right)
Parameters
| Type | Name | Description |
|---|---|---|
| Predicate<T> | left | The first predicate acting as logical XOR operand. |
| Predicate<T> | right | The second predicate acting as logical XOR operand. |
Returns
| Type | Description |
|---|---|
| Predicate<T> | The predicate which computes logical XOR between results of two other predicates. |
Type Parameters
| Name | Description |
|---|---|
| T | Type of the predicate argument. |