有效
更新:2007 年 11 月
Valid 属性指定某个值是否满足该属性类型的有效性约束。Pre 和 Post 属性 (Attribute) 上允许此属性 (Property),此属性 (Property) 可以在任何数据类型上使用。
必须通过使用下列值之一来设置 Valid 属性:
SA_Yes - 此值有效。
SA_No - 此值无效。
SA_Maybe - 此值可能有效。
各种内置类型的有效性约束如下:
整型和浮点型 – 此值已经初始化,也就是说,它不包含无效数据。
Bool – 此值为 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);