-2

次のコード ブロックには、いくつかのビット単位の OR があります。これまで使ったことがないので、コード ブロックの意味を理解しようとしていました。

    Document doc = new Document("CleanupOptions.docx");
    doc.MailMerge.CleanupOptions = MailMergeCleanupOptions.RemoveUnusedRegions |
    MailMergeCleanupOptions.RemoveUnusedFields |
    MailMergeCleanupOptions.RemoveContainingFields;
    doc.MailMerge.ExecuteWithRegions(dataSet);

上記のブロックで、doc.MailMerge.CleanupOptions を使用した場合、CleanupOptions が等しいステートメントをどのように選択するのでしょうか? それとも、それらはすべて組み合わされていますか?

4

2 に答える 2

0

それらはすべて組み合わされています。列挙型は、値の組み合わせを許可する [FlagsAttribute] でマークできます。

https://msdn.microsoft.com/en-us/library/system.flagsattribute(v=vs.110).aspx

于 2015-04-01T13:12:57.213 に答える
0

MailMergeCleanupOptions は、FlagsAttribute が指定された列挙型です。これにより、ビット単位の論理和を実行して、値をコレクションに結合できます。通常、値は 2 のべき乗またはフラグの組み合わせです。

于 2015-04-01T13:14:09.273 に答える