Значение
Свойство Value используется для обозначения недопустимого возвращаемого значения функции, которое вызывающий объект мог по ошибке проверить для выявления успешной работы функции или ее сбоя. Данное свойство используется с атрибутом InvalidCheck.
Атрибут InvalidCheck и свойство Value создают механизм для проверки возвращаемого значения функции на правильность. Это помогает решить проблему, которая обычно возникает, когда одна функция возвращает 1 при успешном выполнении и 0 при сбое в выполнении, а другая функция возвращает 1 при успешном выполнении и -1 при сбое. Использование незначительно отличающихся друг от друга значений для обозначения разных результатов создает путаницу и приводит к возникновению ошибок в коде. Создание заметок к функциям с использованием свойства Value позволяет вызывающим объектам проверить правильность возвращаемого значения.
Пример
В следующем примере кода демонстрируется использование свойства Value:
#include <CodeAnalysis\SourceAnnotations.h>
[returnvalue:SA_InvalidCheck(Value=0)] int f( ); // 1 and -1 are valid
Value=0 обозначает, что проверка возвращаемого значения, равного 0, является ошибкой, поскольку данная функция может возвращать только значения 1 или -1, а значение 0 является недопустимым.
На стороне вызова появляется предупреждение, если вызывающий объект проверяет возвращаемое значение, используя следующий код, потому как 0 является недопустимым возвращаемым значением:
if ( f() == 0 )