Valid プロパティは、特定の値が、その型の検証制約を満たしているかどうかを指定します。 このプロパティは Pre 属性および Post 属性で使用でき、任意のデータ型に対して適用できます。
Valid プロパティは、次のいずれかの値を使って設定する必要があります。
SA_Yes - 値は有効です。
SA_No - 値は無効です。
SA_Maybe - 値は有効である可能性があります。
各種組み込み型の検証制約を次に示します。
整数型および浮動小数点型 – 値が初期化され、無効なデータが含まれていないこと。
ブール型 – 値が True または False のいずれかである。
ポインター型 – ポインターが NULL であるか、アクセス可能なメモリ位置を指していること。 ポインターが指し示す場所に格納された値が有効である必要はありません。 値の有効性は、ポインター値より 1 つ上の逆参照レベルの 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);