Operações com Booleans

Tango.CommonOperations.BoolOperations

Esta classe estática contém métodos e propriedades com as operações comuns para trabalhar com valores do tipo bool. Todos os membros retornam os delegates que realizam a operação descrita.

Propriedades

Nome

Tipo

Descrição

Not

Func<bool, bool>

Retorna uma função para representar o operador !.

And

Func<bool, bool, bool>

Retorna uma função para representar o operador &&.

Or

Func<bool, bool, bool>

Retorna uma função para representar o operador ||.

Métodos

Nome

Parâmetros

Retorno

Descrição

AndWith

bool value

Func<bool, bool>

Retorna uma função parcialmente aplicada à função retornada por And com o parâmetro informado.

OrWith

bool value

Func<bool, bool>

Retorna uma função parcialmente aplicada à função retornada por Or com o parâmetro informado.

Como Usar

Como as propriedades retornam delegates para representar as operações, é possível utilizá-las como métodos.

Operação Not

bool value = true;
bool result = BooleanOperations.Not(value);

//result= false

Operação Or

bool value = true;
bool value2 = false;
bool result= BooleanOperations.Or(value, value2);

//result = true

Operação And

bool value = true;
bool value2 = false;
bool result= BooleanOperations.And(value, value2);

//result = false

Para os métodos temos uma sintaxe um pouco diferente, isso porque é realizada uma aplicação parcial ao método retornado pela própriedade.

Por conta disso, precisamos executar o método com o primeiro parâmetro, para obtermos um novo método que espera o segundo parâmetro:

Operação OrWith

bool value = true;
bool value2 = false;
Func<bool,bool> orWithPartial = BooleanOperations.OrWith(value);
bool result = orWithPartial(value2);
//result = true

Também podemos realizar a chamada de forma concatenada:

bool value = true;
bool value2 = false;
bool result = BooleanOperations.OrWith(value)(value2);

//result = true

Operação AndWith

bool value = true;
bool value2 = false;
Func<bool,bool> andWithPartial = BooleanOperations.AndWith(value);
bool result = andWithPartial(value2);

//result = false

Também podemos realizar a chamada de forma concatenada:

bool value = true;
bool value2 = false;
bool result = BooleanOperations.AndWith(value)(value2);

//result = false

Last updated