Array
(
)

Que significa isso

Pjava
   - 23 out 2012

Principalmente o set e o pipe com sinal de igual, n'ao entendi esse codigo.
public virtual int IDCATEGORIA
{
get { return _idcategoria; }
set { _isChanged |= (_idcategoria != value); _idcategoria = value; }
}

Tiago
|
MVP
Pontos: 120
    23 out 2012

Realmente bem confuso, mas pelo que eu entendi na linha abaixo, ele verifica se o valor que "mudou" não é igual a outro se não for o valor é setado.

set { _isChanged |= (_idcategoria != value); _idcategoria = value; }

0
|
0

Moisés Gonçalves
   - 23 out 2012


Citação:
Realmente bem confuso, mas pelo que eu entendi na linha abaixo, ele verifica se o valor que "mudou" não é igual a outro se não for o valor é setado.

set { _isChanged |= (_idcategoria != value); _idcategoria = value; }


Com o perdão da palavra: não tem nada a ver.

O operador |= é conhecido como "OR assignment", ou "atribuição ou".

imagine o seguinte:

bool a = false;
bool b = true;

b |= a;

Equivale a escrever:

b = b | a;

Em outras palavras, b "é igual a" b ou a.

Trazendo para o caso de uso em questão, o field _isChanged será modificado antes que a categoria seja definida.
Neste caso, as expressões "categoria foi modificada" e "o identificador da categoria já existente é diferente do valor" serão testadas em com um operador "OU", o resultado desta operação de comparação resultará no valor final do field _isChanged.

_isChanged = _isChanged | (_idcategoria != value);

0
|
0

Tiago
|
MVP
Pontos: 120
    23 out 2012

Ah Moisés eu acabei confundindo mesmo, obrigado por consertar.

0
|
0

Joel Rodrigues
   - 01 nov 2012

PJava, essa questão ficou clara? Podemos encerrar o tópico?

0
|
0

Joel Rodrigues
   - 02 mar 2013

Considerando as respostas que foram dadas, bastante esclarecedoras, estou marcando este tópico como concluído.
Abraço a todos.

0
|
0