問題タブ [enumeration]

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 投票する
16 に答える
797579 参照

c# - C# ループ - 中断と継続

C# (他の言語については自由に回答してください) ループでは、ループの構造を離れて次の反復に進む手段としてのbreakとの違いは何ですか?continue

例:

0 投票する
5 に答える
20695 参照

java - 列挙型が反復可能でないのはなぜですか?

Java 5 以降では、 foreach ループがあり、実装するものすべてに対して魔法のように機能しますIterable

ただし、 はEnumerableまだ を実装していませんIterable。つまり、 を反復処理するにEnumerationは、次のことを行う必要があります。

Enumerationまだ実装していない理由があるかどうかは誰にも分かりますIterableか?

編集:明確にするために、私はenumの言語概念について話しているのではなく、 「 Enumeration 」と呼ばれる Java API の Java 固有のクラスについて話しているのです。

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

c# - PropertyGrid、DefaultValueAttribute、動的オブジェクト、および列挙

注:私は.Net 1.1を使用していますが、より高いバージョンを使用する回答に完全に反対しているわけではありません。

PropertyGridに動的に生成されたオブジェクトを表示しています。これらのオブジェクトには、数値、テキスト、および列挙のプロパティがあります。現在、列挙のデフォルト値を設定して、リストで常に太字で表示されないようにするのに問題があります。列挙自体も動的に生成され、デフォルト値を除いて正常に機能しているように見えます。

最初に、エラーの原因となっている場合に列挙を生成する方法を示したいと思います。最初の行は、カスタムクラスを使用してデータベースをクエリします。この行をDataAdapterまたはデータベース値でDataSetを埋めるお好みの方法に置き換えるだけです。列1の文字列値を使用して列挙を作成しています。

次に、型の作成方法について説明します。これは主に、ここで提供されているサンプルコードに基づいています。基本的に、pFeatureをデータベース行と考えてください。列をループし、列名を新しいプロパティ名として使用し、列値をデフォルト値として使用します。それが少なくとも目標です。

最後に、そのタイプを使用してインスタンスを作成し、デフォルト値をロードして、後でPropertiesGridを使用して表示できるようにします。

ただし、列挙型のデフォルト値を取得しようとすると、エラーが発生します。DefaultValueAttribute dvaは設定されないため、使用しようとすると例外が発生します。

このコードセグメントを変更すると、次のようになります。

これに:

DefaultValueAttributedvaの取得に問題はありません。ただし、フィールドはデフォルト値と一致しないため、PropertiesGridで太字になっています。

生成された列挙にデフォルト値を設定したときにDefaultValueAttributeを取得できない理由を誰かが理解できますか?ご想像のとおり、私はまだReflectionを初めて使用するので、これはすべて私にとってかなり新しいことです。

ありがとう。

更新:alabamasucks.blogspotに応じて、ShouldSerializeを使用すると確かに私の問題は解決します。通常のクラスを使用してメソッドを作成することができました。ただし、生成されたタイプに対してこれを行う方法がわかりません。私が理解できることから、MethodBuilderを使用し、ILを生成して、フィールドがデフォルト値と等しいかどうかを確認する必要があります。簡単そうに聞こえます。これをILコードで表現したい:

同様のコードからildasm.exeを使用してILコードを取得できましたが、いくつか質問があります。ILコードでval変数を使用するにはどうすればよいですか?私の例では、値が0のintを使用しました。

ILにはタイプごとに異なるロードコマンドがあるため、これは確かに注意が必要です。現在、私はint、double、strings、およびenumerationsを使用しているため、コードはタイプに基づいて適応する必要があります。

誰かがこれを行う方法を知っていますか?それとも私は間違った方向に向かっていますか?

0 投票する
15 に答える
8513 参照

java - 重複した Enum コードを削除するにはどうすればよいですか?

このインターフェイスを実装する列挙型が多数あります。

典型的な例は次のとおりです。

ご想像のとおり、これらのメソッドは CodableEnum のすべての実装で実質的に同一です。この重複をなくしたいのですが、率直に言って方法がわかりません。次のようなクラスを使用してみました。

しかし、これはかなり役に立たないことが判明しました。

  1. 列挙型はクラスを拡張できません
  2. 列挙型の要素 (SKYPE、GOOGLE_TALK など) はクラスを拡張できません
  3. DefaultCodableEnum 自体は Enum ではないため、getByCode() のデフォルトの実装を提供できません。DefaultCodableEnum を変更して java.lang.Enum を拡張しようとしましたが、これは許可されていないようです。

リフレクションに頼らない提案はありますか?ありがとう、ドン

0 投票する
33 に答える
912996 参照

c# - 列挙型を列挙する方法

enumC#で列挙するにはどうすればよいですか?

たとえば、次のコードはコンパイルされません。

そして、次のコンパイル時エラーが発生します。

「スーツ」は「タイプ」ですが、「変数」のように使用されます

Suit2 番目のキーワードで失敗します。

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

c# - C++\CLI での列挙型の変換に関する問題

.Net によって提供されるいくつかの列挙を使用する、C++\CLI で記述されたアセンブリがあります。次のようなプロパティがあります。

正常に動作しますが、C# コードからこのアセンブリを使用すると、このプロパティの型は

そして私は型キャストをしなければなりません

質問は簡単です。なぜそうなのか、どうすれば修正できるのでしょうか。

0 投票する
26 に答える
8226 参照

coding-style - メソッド引数としてのブール値は受け入れられませんか?

私の同僚は、メソッド引数としてのブール値は受け入れられないと述べています。それらは列挙に置き換えられるものとします。最初は何のメリットもありませんでしたが、彼は私に例を教えてくれました。

何がわかりやすいですか?

または

今、私はそれを手に入れました!;-)
これは間違いなく、2番目のパラメーターとしての列挙によってコードがはるかに読みやすくなる例です。

それで、このトピックについてのあなたの意見は何ですか?

0 投票する
4 に答える
2764 参照

c++ - C++でシステムメニューにカスタム項目を追加するには?

実行中のすべてのアプリケーションを列挙する必要があります。特に、すべてのトップ ウィンドウ。そして、すべてのウィンドウで、カスタム項目をそのウィンドウのシステム メニューに追加する必要があります。

C++でそれを達成するにはどうすればよいですか?

アップデート。

Windows、MacOS、および Ubuntu 用のソリューションがあれば幸いです (ただし、MacOS と Ubuntu に「システム メニュー」などがあるかどうかはわかりません)。

0 投票する
9 に答える
18525 参照

c# - すべての列挙値を反復処理する方法はありますか?

重複の可能性:
C#:列挙型を列挙する方法は?

主題はすべてを言います。それを使用して、コンボボックスに列挙型の値を追加したいと考えています。

ありがとう

バイスバーグ

0 投票する
4 に答える
2674 参照

nhibernate - NHibernate を使用してデータベースとの間で列挙型をどのようにマッピングしますか?

編集:ライアンは良い点を挙げました。私は特に、人間が読める値をデータベースに保存しながら、マップを行ったり来たりできるようにしたいと考えています。つまり、データベースに多数の列挙整数は必要ありません。