Valid
Обновлен: Ноябрь 2007
Свойство Valid задает, соответствует ли значение ограничениям на допустимость, действующим для данного типа. Данное свойство применяется к пред- и постатрибутам и может использоваться с любыми типами данных.
Свойство Valid должно быть задано при помощи одного из следующих значений:
SA_Yes — значение допустимо.
SA_No — значение недопустимо.
SA_Maybe — значение, вероятно, допустимо.
Для различных встроенных типов действуют следующие ограничения на допустимость:
Целые типы и типы с плавающими запятыми — значение прошло инициализацию, т.е. оно не содержит недопустимых данных.
Логический тип — значением является либо True, либо False.
Типы указателей — указатель либо имеет значение NULL, либо указывает на место расположения доступной памяти. Значение в месте, на которое указывает указатель, не обязательно является допустимым. Допустимость данного значения определяется значением свойства Valid для уровня разыменования, которое на один пункт больше значения указателя.
Ссылочные типы — то же самое, что для типов указателей, с той лишь разницей, что ссылочный тип не может иметь значения NULL.
Пример
В следующем примере кода демонстрируется использование свойства Valid:
// C
#include <CodeAnalysis\SourceAnnotations.h>
void f([SA_Pre(Valid=SA_Yes) ] char *pc);
// C++
#include <CodeAnalysis\SourceAnnotations.h>
using namespace vc_attributes;
void f([Pre(Valid=Yes) ] char *pc);