私はGenerateOutput
メソッドを持っています。このメソッドは文字列のリストを出力します。このメソッドは、複数の列挙をパラメータとして取り、どのフラグがメソッドに入力されたかに基づいて結果を出力します。列挙型はコンパイル時に設計されていますが、ユーザーがプログラムで選択したオプションに基づいて実行時に出力を変更することは可能ですか? 本質的に、私は可能な列挙を表す様々なチェックボックスを持っています。ユーザがオプションを選択すると、そのフラグはGenerateOutput
メソッドのパラメータとして追加されます。これはできますか?ありがとう実行時に入力列挙型
0
A
答えて
3
あなたは何をしたいと思いますか(私はあなたの質問を完全に理解していません)は、関数に渡すために実行時にEnum値を構築することです。一覧リストを持って、コメントでフランシスコにより示唆されるように、
// In checkbox handlers, e.g.
tEnums |= TestEnumerations.Value1;
// Where you call the method
GenerateOutput(tEnums);
代わり:
[flags]
public enum TestEnumerations
{
Value1 = 1,
Value2 = 2,
Value3 = 4,
//etc
}
は、あなたがこれを行うことができます:
あなたの列挙型は、[フラグ]属性で指定されていると仮定すると、 (または各列挙値を1回だけ表示する場合はHashSet)。
// In checkbox handlers, e.g.
list.Add(TestEnumerations.Value1);
// Where you call the method
GenerateOutput(list);
+0
ありがとうございます。あなたが '| ='をすることができるかどうかは分かりませんでした。それはそれを行う必要があります。 – Brap
+1
これは、値が2の累乗で、[flags]属性が設定されている場合にのみ機能します。 –
関連する問題
- 1. 列挙型とユーザー入力
- 2. 実行時に列挙型の値を変更しますか?
- 3. 移行時のdjango列挙型フィールドエラー
- 4. キャスト辞書コンテンツを入力する列挙型データ型
- 5. 列挙型のSQL挿入?
- 6. 入力または出力としての列挙型
- 7. C++列挙型で、ユーザーからの入力に使用する
- 8. 列挙型の列挙型の列挙型へのアクセス
- 9. DBの列挙型または列挙型の列挙型
- 10. 実行時に列挙型を定義する単純な方法
- 11. 入力が実行時
- 12. 列挙型に
- 13. 列挙型内の列挙型
- 14. 列挙型の中の列挙型
- 15. 列挙型の列挙型の作成
- 16. C#の標準入力行で列挙型を取得する方法は?
- 17. 列挙型のインスタンスとしてユーザー入力を解釈
- 18. 列挙型の設定方法PyQt5でAllowTabbedDocksを入力する
- 19. 文字列を列挙型に変換しますが、実行時に列挙型しか認識されない場合
- 20. 列挙型データ型
- 21. int型/列挙型
- 22. 多型列挙型
- 23. はどのように列挙型に列挙型
- 24. 列挙型の入れ子ですか?
- 25. は、列挙型
- 26. 列挙型?
- 27. 列挙型は
- 28. 列挙型は
- 29. 列挙型プログラム
- 30. 列挙型hasMoreElements()
r GenerateOutput関数 – Francisco
これは、これを動作させるためのテストコードです。このメソッドは 'void GenerateOutput(TestEnumerations tEnums)'であり、 'tEnums'値をコンソールに出力します。実行時に複数のtEnumを入力したいと思います。 – Brap
複数のtEnumを、たとえば、カンマまたは他の文字を入力して解析します。 like:t1、t2そして、string.split( '、')を使い、Enum.Parseを値ごとに使用しますか? – Ostap