問題タブ [enums]

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.

0 投票する
23 に答える
275973 参照

c++ - C++列挙型を文字列に簡単にマップする方法

使用しているいくつかのライブラリ ヘッダー ファイルに多数の列挙型があり、列挙型の値をユーザー文字列に変換する方法が必要です。その逆も同様です。

「ユーザー文字列」は列挙よりも少し読みやすくする必要があるため、RTTI はそれを行いません。

ブルート フォース ソリューションは、このような関数の束になりますが、少し C に似すぎているように感じます。

テンプレートを使用したエレガントなソリューションがあるという直感はありますが、まだ頭を悩ませることはできません。

更新:提案をありがとう - 列挙型がサードパーティのライブラリ ヘッダーで定義されていることを明確にする必要があるため、列挙型の定義を変更する必要はありません。

私の直感は、テンプレートを避けて、次のようにすることです。

0 投票する
8 に答える
2746 参照

c# - C#列挙型はタイプセーフですか?

C#列挙型はタイプセーフですか?

そうでない場合、その影響は何ですか?

0 投票する
7 に答える
23798 参照

java - Java列挙型定義

私は Java ジェネリックをかなりよく理解していると思っていましたが、java.lang.Enum に次のような記述がありました。

誰かがこの型パラメータを解釈する方法を説明できますか? 同様の型パラメーターを使用できる場所の他の例を提供するためのボーナスポイント。

0 投票する
10 に答える
16521 参照

enums - 列挙型を見つけるのに最適な場所はどこですか?

一般に、特定の列挙型をパラメーターとして受け取る単一の型または名前空間が存在することがわかりました。その結果、常にそれらの列挙型を定義してきました。しかし最近、私は同僚に、それがいかに愚かなことであるかについて大騒ぎしました。プロジェクトのルートには、すべての列挙型を定義する列挙型名前空間を常に配置する必要があります。

列挙型を見つけるのに最適な場所はどこですか?

0 投票する
13 に答える
23663 参照

c++ - ネストされた C++ クラスと列挙を使用することの長所と短所は?

ネストされたパブリック C++ クラスと列挙を使用することの長所と短所は何ですか? たとえば、 というクラスがprinterあり、このクラスに出力トレイに関する情報も格納されているとします。次のようになります。

または:

プライベート列挙型/クラスをネストする利点はわかりますが、パブリックのものになると、オフィスが分割されます-スタイルの選択のようです.

それで、あなたはどちらを好みますか、そしてその理由は何ですか?

0 投票する
11 に答える
26729 参照

design-patterns - C++ でどの Typesafe Enum を使用していますか?

C++ の組み込み列挙型がタイプセーフでないことはよく知られています。タイプセーフな列挙型を実装するクラスがどこで使用されているのか疑問に思っていました...私自身は次の「自転車」を使用していますが、やや冗長で制限があります。

typesafenum.h:

typesafenum.cpp:

使用法:

追加: 要件についてもっと具体的であるべきだったと思います。私はそれらを要約しようとします:

優先度 1: enum 変数を無効な値に設定することは、例外なく不可能 (コンパイル時エラー) であるべきです。

優先度 2: enum 値と int の間の変換は、単一の明示的な関数/メソッド呼び出しで可能にする必要があります。

優先度 3: 可能な限りコンパクトでエレガントで便利な宣言と使用法

優先度 4: enum 値と文字列との変換。

優先度 5: (あると便利) enum 値を反復処理できる可能性。

0 投票する
2 に答える
6042 参照

xsd - JAXB - XJC - 生成されたタイプセーフな列挙型クラスとメンバーに影響を与える

次の simpleType を XJC コンパイル (JAXB パッケージから) でコンパイルすると...

私はJavaで次の列挙型になります(インポートステートメントとコメントは削除されました)

これはまさに私が欲しいものです...public String value()メソッドを除いて。public String getValue()このメソッドは、Sun の命名規則に従って呼び出されることを期待しています。そうすれば、EL を使用して JSP ページで簡単に使用できます。今、私はそれを回避する必要があります。

getValue()メソッドの代わりにメソッドを使用して、XJC コンパイルをより便利な列挙にさらに微調整した経験がある人はいますvalue()か? または、メソッドなどを追加できますか?

PS これは JAXB の v2.0.3 で発生しました。最新バージョンv2.1.8をダウンロードしましたが、同じです...

0 投票する
2 に答える
508 参照

java - 異なる言語で表示する必要があるアイテムのリストを含むドロップダウン ボックスを実装するにはどうすればよいですか?

食料品の選択肢のリストを含むドロップダウン ボックスを含むフォームをデザインしようとしています。

Java 列挙型とルックアップ テーブルのどちらを使用するかを決定しようとするとき、どの基準を確認する必要がありますか? また、ドロップダウン文字列の i18n サポートについても事前に計画する必要があります。

0 投票する
6 に答える
14074 参照

java - Java拡張可能列挙

拡張可能な列挙型を作成する方法はありますか?列挙に常に使用できるようにしたいメソッドがいくつかあります。たとえば、データベースフィールドに列挙型を使用します。データベースに実際のフィールド名を含めます。

0 投票する
3 に答える
2905 参照

c# - ライブラリ クラスから列挙型を公開する

C# では、列挙型を定義するライブラリを使用しています。コードのコンシューマー (別のアセンブリ内) が、基になるライブラリ自体を参照することなく、関数の 1 つにパラメーターとして列挙値を渡すことができるようにしたいと考えています。

ライブラリの列挙を消費者に公開する方法はありますか?