問題タブ [object-initializers]

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

c# - ネストされたオブジェクト初期化子の構文

Resharper は、次のリファクタリングを提案してくれました。

この種のオブジェクトの初期化はこれまで見たことがありません。特にやり方がわからない

意味があります - に何も割り当てInitializedPropertyていません。

この動作はどこかに指定されていますか?

0 投票する
1 に答える
124 参照

c# - オブジェクトの構築外でオブジェクト初期化子を使用できますか?

与えられたオブジェクト初期化子:

それらは何らかの形で他の場所で使用できますか?(オブジェクト構築の外)

次のようなものを使用するには:

これが foo のクラス階層の外にあるとします。これは、1 つのオブジェクトのメンバーを何度も使用する場所を避けるためです。

たとえば、VB/GML (GameMaker のスクリプト言語) では、次を使用できます。

foo.something の代わりに

だから、C#でこのようなものはありますか?

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

asp.net - タイプ 'string' を 'System.Collections.Generic.ICollection に暗黙的に変換することはできません'

私は ado.net エンティティ フレームワークを使用してデータベースに接続し、プロジェクトに .edmx ファイルを作成しました。オブジェクト初期化子を使用してコード側でオブジェクトに到達しようとすると、オブジェクト名を確認できますが、throws でテキストエリアに値を入力しようとするとこのエラー。タイトルはデータベース内のテーブルで、エントリは別のテーブル データですが、両方のテーブルに関係があるため、タイトルの下にエントリが表示されます。どうすればいいですか?私は何も理解していません..助けてくれてありがとう、ここに状況があります

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

asp.net - 型 'System.Web.UI.WebControls.ListItem' を 'WebApplication.Title に参照変換、ボックス化変換、

これが状況です。

- 2 つのリストボックス (lb1-lb2) があります。1つ(lb1)で、データベースから取得したすべてのデータが表示されます。

- lb1 のデータをクリックしたい場合、コンテンツを別のリストボックス (lb2) に表示する必要があります。

-データベース内で関係を持つ 2 つの異なるテーブルです。

-私はエンティティフレームワークを使用し、データブルのオブジェクトに到達するためにオブジェクト初期化子を使用しました。

-selectedIndexChangedプロパティを処理して、そのダイナミズムを提供しました。次のコードを実行しました

次のようにエラーをスローします: 参照変換、ボックス化変換、ボックス化解除変換、ラッピング変換、または null 型変換を介して型 'System.Web.UI.WebControls.ListItem' を 'WebApplication2.Title' に変換できません

私は何をすべきか?私は何が欠けていますか?ご協力いただきありがとうございます

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

c# - 多くの引数が必要な場合のC#のオブジェクト初期化子とコンストラクター

C# アプリケーションから EVE Online API にアクセスするためのフレームワークを開発しています。基本的に、API はクライアントが EVE Online サーバーに GET 要求を送信することによって機能し、サーバーは XML ファイルの形式で応答を送信します。私のフレームワークは、これらの XML ファイル内の情報をオブジェクトに解析します。リクエストからの情報は変更できません (つまり、クライアント側アプリケーションからサーバー データを変更する方法はありません)。このため、オブジェクト自体は不変でなければなりません。

さて、ここを見ると、すべてのリクエストで常に送信されるさまざまなフィールドがいくつかあることがわかります。たとえば、キャラクターのウォレット トランザクションをリクエストする場合は、次のようにリクエストします。

これは次のようなものを返します

そして、私が必要とするオブジェクトは、各行のこれらのフィールド (transactionDateTime、transactionID、quantity、typeName、typeID、price、clientID、clientName、stationID、stationName、transactionType、transactionFor) をすべて持つ必要があるため、次のようになります。

ご覧のとおり、これは非常に大きなコンストラクターですが、XML ファイルから受け取ったすべての情報がなければ、オブジェクトは完全に初期化されません。このようなもので、このように動作する必要があるオブジェクトは他にもたくさんあります (不変で、さまざまなフィールドがあります)。

したがって、問題は次のようになります。オブジェクトは不変である必要があり、これらのさまざまなフィールドをすべて持つ必要があるため、コンストラクターを使用する必要がありますか? または、この場合はオブジェクト初期化子の方が優れており、サーバーに影響を与えないため、本当に必要な場合はセッターメソッドを呼び出させますか?

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

c# - コンパイル エラー / ChartArea 型のオブジェクト初期化子

.NET 4 を使用しています。

オブジェクト初期化子とChartArea.

オブジェクト初期化子は次のChartクラスで機能します。

例えば:

しかし、ChartArea ではそうではありません:

IntelliSense には が表示されますAxisXが、実装後は次のように表示されます。

シンボル 'AxisX' を解決できません

そこで何が起こるの?うまくいかないのはなぜですか?これは私のせいですか、それともコンパイラのせいですか?

ありがとう!

0 投票する
1 に答える
1414 参照

ruby-on-rails - Railsのモデルへのinitializeメソッドのオーバーライド

初期化メソッドをオーバーライドしようとしています。下記参照

実行するr = Restriction.new(:between)と、例外が発生します。

私は何を間違っていますか?

ところで、formula属性が外部からアクセスできないため、これを行っています。