Valor
A propriedade Value é usada para indicar um valor de retorno de função inválido que o chamador - por engano - pode testar para para ver se uma função tem êxito ou falha. Esta propriedade é permitida no atributo InvalidCheck.
O atributo InvalidCheck e a propriedade Value fornecem um mecanismo para ajudar a testar contra o valor correto de retorno de uma função. Ele tenta solucionar o problema que normalmente ocorre quando uma função retorna 1 para êxito e 0 para falha e outra função retorna 1 para êxito e -1 para indicar falha. O uso de valores ligeiramente diferentes para indicar resultados diferentes faz confusão e portanto introduz erros no código. Pela anotação de funções que usam a propriedade Value, você pode ajudar os chamadores a verificar o valor de retorno correto.
Exemplo
O código a seguir mostra como usar a propriedade Value:
#include <CodeAnalysis\SourceAnnotations.h>
[returnvalue:SA_InvalidCheck(Value=0)] int f( ); // 1 and -1 are valid
VALOR =0 indica que verificação para o valor de retorno de 0 é um erro porque essa função só pode retornar 1 ou -1 e 0 é um valor inválido.
No local de chamada, um aviso é emitido se o chamador verifica o valor de retorno usando o código a seguir porque 0 não é um valor de retorno válido:
if ( f() == 0 )