問題タブ [enum-flags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Flags 列挙型と通常の列挙型の違いを見分ける方法は?
列挙型が a である[Flags] enum
か、それが正規であるかを反射的にテストする方法はありますenum
か?
列挙型が Flags 列挙型である場合と、Flags 列挙型でない場合とでは、アプリケーションの動作が少し異なる必要があります。
c# - フラグ列挙型のインスタンスからセットビットのコレクションを取得するにはどうすればよいですか?
このEnum
クラスには、次の便利な機能があります。
すべての列挙型インスタンスのセットビットのコレクションを取得するために、どのように似たようなものを書くことができますか?次のような署名付き:
制約が許可されていないため、キャストを機能させるのに問題があります。Enum
そのため、を使用する必要がありますstruct
。
c# - HasFlags は、列挙型の None (0) 値に対して常に true を返します
これは列挙型の定義です:
次のコードでは、HasFlag メソッドが値 Animals.None に対して true を返すのはなぜでしょうか?
c# - 複数のリスト列挙型の値を別の列挙型に書き込む
クライアントから、各 int 値が Enum DayOfWeek の enum int 値である List を取得します。
リストには、タイム プランナーに表示される int 値 (日) のみが含まれます。
0,1,2 (日曜、月曜、火曜) などの int 値のリストを取得すると、これらの値を DayOfWeek 列挙型にどのように書き込めば、7 日間すべてまたは 1 日も機能しない一般的な方法になりますか?
土曜日のインデックスは 6 ですが、DayOfWeek 列挙型の値は 32 です。
アップデート
これは、私のニーズに合わせて変更された MarcinJuraszek の実用的なソリューション コードです。
上記のコードは、1 週間のすべての曜日を VisibleDayOfWeek 列挙型に書き込み、データベース フィールドに簡単に保存できるようになりました。
Microsoft MSDN によると、フラグ列挙型の None 値が再び 0 に設定され、残りの値は 2 の累乗になります。
c# - カスタム UITypeEditor で OR 演算された Enum を使用する
私が作成したカスタム コントロールに、フラグ ベースの Enum であるプロパティがあります。論理的に意味のある方法で編集する独自のカスタム コントロールを作成し、独自の UITypeEditor から呼び出しました。問題は、保存しようとした値が、値が無効であることを示すフラグの組み合わせである場合に、Visual Studio がエラーを生成することです。
例:
保存したいSingleUnit | Trigger
値が生成された値である場合、次のエラーが発生します。
c# - 階層フラグ列挙型をどのように表現すればよいですか?
次の列挙型のセットがあります。
列挙型は、子列挙型がその親を意味する階層構造を表し、任意の数のフラグを適用できるという考え方です。
私が見ている問題は、デバッグ中にすべての子列挙型が名前または名前のセットとして表されていないことです。IE, Categories.F
= "F" but Categories.F2
= 16777248. 私はCategories.F2
= "F, F2" または少なくとも "F2"を望んでいました
列挙型をフラグとして認識したままにするにはどうすればよいですか? 私がやろうとしていることを達成するためのより良い方法はありますか?
c# - C# 列挙型 - マスクに対するフラグのチェック
次の列挙フラグがあります。
これで、読み取り可能かどうかを確認する必要がある列挙型インスタンスができました。次のコードを使用する場合:
HasFlag はすべてのフラグがあるかどうかをチェックすると思うので、私の場合は常に false を返します。これを避けるためにエレガントなものが必要です:
どうすればいいですか?
enums - Haxe - 列挙型をフラグとして関数に送信する
コードを C# から Haxe NME に変換しようとしています。列挙型をフラグとして使用します。
そして、それを使用してください
Haxe NME でこれを行う方法がわかりませんでした。
ありがとう。
c# - Enum フラグの予期しない結果
列挙型をフラグとして使用しています
ここでフラグを宣言します =
ここでは、列挙型を 8 バイトに変換します
そして、ここでそれらをリストに戻します
しかし、私は予期しない結果を得
Off_hook,Two_way_lockout,Phone_fault,Fuse_fault,Expander_bell_fault,_6_digit_PIN_enabled
ています。結果として得られます。
したがって、いくつかのフラグは正しいですが、たとえば Two_way_lockout は列挙型で宣言されていません。
私は何を間違っていますか?
c# - C#の「|=」演算子とは何ですか?
バグの原因を調査しているときに、次のコード行に出くわしました。
C#の「|=」演算子とは何ですか?
「ステータス」は次のように定義されます。
...アクセサーとミューテーター(または「ゲッター」と「セッター」)を使用し、「状態」は次のように定義されます。