Valid
Valid 屬性會指定某個值是否滿足其型別的有效性條件約束。 這個屬性 (Property) 可以用在 Pre 和 Post 屬性 (Attribute) 上,也可以用在任何資料型別上。
Valid 屬性必須設定為下列其中一個值:
SA_Yes - 這個值有效。
SA_No - 這個值無效。
SA_Maybe - 這個值可能有效。
下列描述不同內建型別的有效性條件約束:
整數類資料型別 (Integral Type) 和浮點型別 – 這個值已經初始化,也就是說,它並未包含無效的資料。
Bool – 這個值為 True 或 False。
指標型別 – 指標為 NULL 或是指向可存取的記憶體位置。 指標所指向位置的值不一定是有效的。 該值的有效性是由 Valid 屬性的值,根據取值 (Dereference) 層級 1 是否大於指標值的層級而定。
參考型別 – 與指標型別相同,只除了參考型別 (Reference Type) 不能為 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);