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