Windows 8アプリの認定要件を読んだ後、なぜ彼らがこれを述べているのか疑問に思いました。
•FlagsAttributeをUInt32列挙型に適用する必要があります。
•FlagsAttributeをInt32列挙型に適用しないでください。
その背後にある理由は何ですか?
認定要件は現在、http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspxにあります。
Windows 8アプリの認定要件を読んだ後、なぜ彼らがこれを述べているのか疑問に思いました。
•FlagsAttributeをUInt32列挙型に適用する必要があります。
•FlagsAttributeをInt32列挙型に適用しないでください。
その背後にある理由は何ですか?
認定要件は現在、http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspxにあります。
WinRTで列挙型を使用するシナリオは2つあります。列挙値定数としてとビットフィールド値定数としてです。列挙値形式は符号付き整数として表され(列挙されているため)、ビットフィールド形式は符号なし整数として表されます(32ビットすべてをフラグに使用できるようにするため)。すべてのビットフィールド列挙型には、FlagsAttributeが必要です。
検証ロジックのこのルールは、FlagsAttributeの値が与えられた場合、列挙型の基になるタイプが正しいことを強制します。
列挙型の基になるタイプが署名されている場合、一部の言語プロジェクションはFlagsAttributeで列挙型を正しく消費しないため、これは重要です。