0

.NetではFlagsAttribute、ビットマスクとして使用される列挙型にを適用できます(適用する必要があります)。このようにして、HasFlag()-methodを使用でき、ビット単位の操作を行ってもReSharperは怒りません。

プロジェクトでは、vb6で記述されたdllの列挙型を使用する必要がありますが、もちろんFlagsAttribute。(私はコードを見ました、値はビットフラグです。)

VisualStudioは、使用するたびにコードで赤としてマークしますが.HasFlag()、コンパイルして正常に実行されます。また、列挙型を常にintにキャストすることで、ビット演算でのReSharper警告を「無効」にすることができます(またはコメントで抑制します…)

それでも、列挙型をフラグとして一度マークするような、ややクリーンなアプローチがあるのだろうか?

4

1 に答える 1

3

外部依存関係をマークすることはできません-dllソースが何であれ、その内部を単純に変更することはできません(まあ、できます、バイナリを書き直す必要があります)。

1つのオプションは、VB6のものとあなたのものの間に独自のフラグ列挙とマッパーを記述し、コードでバージョンを使用し、マッピングレイヤーの問題を単に無視することです。

于 2012-06-01T12:33:13.450 に答える