問題タブ [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.
wcf - WCF Webサービスで列挙型を使用していますか?
いくつかの値が割り当てられている場合、または列挙型がFlags属性でマークされている場合、サーバーとクライアント間で不一致が発生する可能性があるため、列挙型は悪であり、Webサービスで使用すべきではないと言う人がいます。彼らはまた、列挙型を公開するWebサービスは維持するのが難しいと言いましたが、実際に実行可能な議論をすることはできませんでした。では、あなたの経験から、WCF Webサービスで列挙型を使用することの長所と短所は何ですか?
c# - チェックボックスをフラグ列挙の個々のビットに双方向にバインドするにはどうすればよいですか?
優れた WPF バインディング チャレンジが好きな人向け:
フラグ列挙の個々のビットに a をバインドするほぼ機能的な例があります (元の MSDN 投稿のCheckBox
Ian Oakes に感謝します)。ただし問題は、バインドが一方向 (UI から へ、その逆ではない) であるかのように動作することです。したがって、事実上は初期化されませんが、切り替えられた場合、データ ソースは正しく更新されます。Attached は、ビットベースのバインディングを有効にするためにいくつかの添付依存関係プロパティを定義するクラスです。私が気付いたのは、強制的に変更しても、ValueChanged が呼び出されないことです。DataContext
CheckBox
DataContext
私が試したこと:プロパティ定義の順序を変更する, ラベルとテキスト ボックスを使用しDataContext
て が更新をバブルしていることを確認する, もっともらしいFrameworkMetadataPropertyOptions
( AffectsRender
, BindsTwoWayByDefault
), 明示的に設定するBinding Mode=TwoWay
, 壁に頭をぶつける, 競合の場合に変更ValueProperty
する.EnumValueProperty
提案やアイデアは非常に高く評価されます。あなたが提供できるものに感謝します!
列挙:
XAML の使用法:
クラス:
c# - 列挙型に文字列と等しいフィールドがあるかどうかを確認します
私は列挙型を持っています
そして、拡張子が前の列挙型にあるかどうかを確認したい FileInfo があります。私はできることを望んでいた
しかし、それはあまりにも素晴らしかったでしょう。何か案は?
actionscript-3 - AS3 / Flash / Flexの列挙型?
AS2 よりも AS3 について私が本当に気に入っていることの 1 つは、コンパイル時の型チェックがどれだけ多く追加されているかということです。ただし、利用可能な型チェックされた列挙構造がないという点で、やや不足しているようです。AS3 でカスタム列挙型を行うための良い (最善の/受け入れられた) 方法は何ですか?
database - ENUM データ型をサポートするデータベース システムとサポートしないデータベース システムはどれですか?
この質問に続いて、「データベースの列挙 - 長所と短所」、どのデータベース システムが列挙型データ型をサポートしているか、およびそれらがどのようにそれを行うかについて少し詳しく知りたいです (たとえば、内部に格納されているもの、制限は何か、クエリ構文の影響、インデックス作成の影響など)。
ユースケースまたは長所と短所についての議論は、他の質問で行う必要があります。
java - APIが進化するにつれて、「int列挙型」パターンとJava列挙型の共存を処理するための最良の方法は何ですか?
何年も前に(Javaがenum
サポートを取得する前に)最初にリリースされたAPIを維持していて、列挙値を持つクラスをintとして定義するとします。
何年にもわたって、APIは進化し、Java 5固有の機能(生成されたインターフェースなど)を獲得してきました。これで、新しい列挙を追加しようとしています。
'old style' int-enumパターンには型安全性がなく、動作やデータを追加する可能性もありませんが、公開されて使用されています。APIのユーザーにとって、2つのスタイルの列挙を混在させることが一貫していないのではないかと心配しています。
私は3つの可能なアプローチを見ます:
新しい列挙型(私の架空の例では)をあきらめて、クラス
NutrientType
のような一連のintとして定義します。VitaminType
一貫性は得られますが、型安全性やその他の最新機能を利用していません。公開されたAPIで矛盾を抱えて生きることを決定します。そのまま
VitaminType
にして、として追加NutrientType
しますenum
。aをとるメソッドはVitaminType
、intをとると宣言されますが、aをとるメソッドは、intをとるとNutrientType
宣言されます。クラスを廃止し
VitaminType
、新しいVitaminType2
列挙型を導入します。NutrientType
newを列挙型として定義します。おめでとうございます。非推奨の型を削除できるようになるまでの今後2〜3年間、intとして使用し、それぞれの新しいバージョンを追加する
すべてのメソッドの非推奨バージョンを処理します。また、非推奨の各メソッドとそれに対応するメソッドのテストを作成する必要があるため、QAの労力を増やしただけです。VitaminType
foo(VitaminType2 v)
foo(int v)
foo(VitaminType2 v)
最善のアプローチは何ですか?
java - XMLBeansですべての列挙値を取得するにはどうすればよいですか?
Apache XMLBeansを使用して、XMLスキーマ定義ファイル(XSD)からJavaクラスとインターフェースを生成できます。また、ドメイン値を表すStringEnumAbstractBaseおよびStringEnumAbstractBase.Tableに基づいて列挙型を生成します。有効な値のみを入力する場合に便利です。ただし、これらすべての値を取得して、JCombobox、JTable、またはhtmlテーブルを生成したいと思います。
生成されたクラスからすべての列挙値を取得するためのXMLBeansAPI呼び出しはありますか?ある種のJavaリフレクションを利用できる唯一の選択肢はありますか?
ありがとう
c# - what's the runtime equivalent of c# 'bracketed' type cast
suppose I have an enum
then I can write
and it will work.
BUT if I try to do that at runtime, like
it will throw InvalidCastException.
So, is there something that I can invoke at runtime, and it will convert from int32 to enum, in the same way as if I wrote a cast as above?
c# - 列挙型には初期化されていない値が必要です。
列挙型に初期化されていない値を含める必要があるかどうかについて議論していました。例えば。我々は持っています
また
何もないはずではないと思いますが、初期化時に有効な値にデフォルト設定する必要があります。しかし、他の人は、None または NotSet である別の列挙型を持つことによって、ユニット化された状態の兆候があるべきだと考えました。
考え?
c# - 列挙型は整数、型、または両方の名前のみですか?
C# での列挙型の楽しみ。以前に定義したいくつかの Enum を格納するために作成された汎用リストを 1 つ取り、そこにいくつかの項目を追加します。foreach で反復GetEnumerator<T>()
するか、元の列挙型以外の列挙型を指定して、何が起こるかを確認します。InvalidCastException またはそのようなものを期待していましたが、完全に機能します:)。
例として、単純なコンソール アプリケーションを使用して、Cars と Animals という 2 つの列挙型を作成してみましょう。
そして、メインメソッドでこれを行います:
これをコンソールに出力します:
なぜこうなった?私の最初の推測では、enum 自体は実際には Type ではなく、単なる int ですが、そうではありません。
Console.WriteLine(Animals.Tiger.GetType().FullName);
彼の完全修飾名を印刷します! では、なぜこれが?