問題タブ [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.
c# - C# ループ - 中断と継続
C# (他の言語については自由に回答してください) ループでは、ループの構造を離れて次の反復に進む手段としてのbreak
との違いは何ですか?continue
例:
java - 列挙型が反復可能でないのはなぜですか?
Java 5 以降では、 foreach ループがあり、実装するものすべてに対して魔法のように機能しますIterable
。
ただし、 はEnumerable
まだ を実装していませんIterable
。つまり、 を反復処理するにEnumeration
は、次のことを行う必要があります。
Enumeration
まだ実装していない理由があるかどうかは誰にも分かりますIterable
か?
編集:明確にするために、私はenumの言語概念について話しているのではなく、 「 Enumeration 」と呼ばれる Java API の Java 固有のクラスについて話しているのです。
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を使用しているため、コードはタイプに基づいて適応する必要があります。
誰かがこれを行う方法を知っていますか?それとも私は間違った方向に向かっていますか?
java - 重複した Enum コードを削除するにはどうすればよいですか?
このインターフェイスを実装する列挙型が多数あります。
典型的な例は次のとおりです。
ご想像のとおり、これらのメソッドは CodableEnum のすべての実装で実質的に同一です。この重複をなくしたいのですが、率直に言って方法がわかりません。次のようなクラスを使用してみました。
しかし、これはかなり役に立たないことが判明しました。
- 列挙型はクラスを拡張できません
- 列挙型の要素 (SKYPE、GOOGLE_TALK など) はクラスを拡張できません
- DefaultCodableEnum 自体は Enum ではないため、getByCode() のデフォルトの実装を提供できません。DefaultCodableEnum を変更して java.lang.Enum を拡張しようとしましたが、これは許可されていないようです。
リフレクションに頼らない提案はありますか?ありがとう、ドン
c# - 列挙型を列挙する方法
enum
C#で列挙するにはどうすればよいですか?
たとえば、次のコードはコンパイルされません。
そして、次のコンパイル時エラーが発生します。
「スーツ」は「タイプ」ですが、「変数」のように使用されます
Suit
2 番目のキーワードで失敗します。
c# - C++\CLI での列挙型の変換に関する問題
.Net によって提供されるいくつかの列挙を使用する、C++\CLI で記述されたアセンブリがあります。次のようなプロパティがあります。
正常に動作しますが、C# コードからこのアセンブリを使用すると、このプロパティの型は
そして私は型キャストをしなければなりません
質問は簡単です。なぜそうなのか、どうすれば修正できるのでしょうか。
coding-style - メソッド引数としてのブール値は受け入れられませんか?
私の同僚は、メソッド引数としてのブール値は受け入れられないと述べています。それらは列挙に置き換えられるものとします。最初は何のメリットもありませんでしたが、彼は私に例を教えてくれました。
何がわかりやすいですか?
または
今、私はそれを手に入れました!;-)
これは間違いなく、2番目のパラメーターとしての列挙によってコードがはるかに読みやすくなる例です。
それで、このトピックについてのあなたの意見は何ですか?
c++ - C++でシステムメニューにカスタム項目を追加するには?
実行中のすべてのアプリケーションを列挙する必要があります。特に、すべてのトップ ウィンドウ。そして、すべてのウィンドウで、カスタム項目をそのウィンドウのシステム メニューに追加する必要があります。
C++でそれを達成するにはどうすればよいですか?
アップデート。
Windows、MacOS、および Ubuntu 用のソリューションがあれば幸いです (ただし、MacOS と Ubuntu に「システム メニュー」などがあるかどうかはわかりません)。
nhibernate - NHibernate を使用してデータベースとの間で列挙型をどのようにマッピングしますか?
編集:ライアンは良い点を挙げました。私は特に、人間が読める値をデータベースに保存しながら、マップを行ったり来たりできるようにしたいと考えています。つまり、データベースに多数の列挙整数は必要ありません。