問題タブ [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.
c# - C# オブジェクト初期化子と ConstructorInfo
誰でも次の解決策を教えてもらえますか? CustomAttributeBuilder を使用して、オブジェクト初期化子を使用するプロパティ属性を複製しようとしています。
すなわち。
なので..
c# - C#オブジェクト初期化子内のプロパティ読み取り値へのアクセス
オブジェクト初期化子内のオブジェクトのプロパティを参照したいと思います。問題は、変数がまだ存在していないため、通常のように参照できないことです(object.method)。オブジェクトの初期化中に作成時にオブジェクトを参照するためのキーワードがあるかどうかはわかりません。
次のコードをコンパイルすると、エラーが発生します-'名前'Width'はコンテキストに存在しません。このエラーが発生する理由は理解していますが、私の質問は次のとおりです。これを行うための構文はありますか?
「mySquare」の観点から、プロパティ「Width」、「Height」、および「Area」を参照したいと思います。
javascript - jQuery イベント内の「this」のオブジェクト コンテキスト
javascript で次のように定義されているとします。
次に、JQuery クリック イベントのコンテキスト内で呼び出します。
「this」が jQuery イベント コールバック内で機能する方法のため、このコンテキストから呼び出された場合、 this.defaultsは未定義です。完全な名前空間を定義したり、 jQuery.proxyを使用したりせずに、このスコープ内で「this」を引き続き使用する方法はありますか?
c# - このコードは、オブジェクトの作成直後にアクセサーを介して値を設定していますか?
私はこの投稿から上記の得たものを手に入れました。アクセサを介して値を割り当てる中括弧内の部分です。コンストラクターがないように見えるので、デフォルトのコンストラクターが呼び出されてからプロパティ値が割り当てられることを意味します。
c# - リスト初期化子とオブジェクト初期化子を組み合わせる
リスト初期化子とオブジェクト初期化子を同時に組み合わせることは可能ですか? 次のクラス定義があるとします。
これは仕様によるものですか、それとも c# コンパイラの単なるバグまたは欠落している機能ですか?
c# - LINQクエリのオブジェクト初期化子 - 計算されたデータを再利用することは可能ですか?
私は次のような(いくつかの単純化した後)ように見えるlinqクエリを使用しています:
気になるのは、PassedUsersNum と CompletionRate の計算式が 2 回出てくることです。
と仮定するとCompletionRate = (PassedUsersNum / TotalUsersNum) * 100
、その式を再度記述する代わりに、PassedUsersNum の計算を再利用してどのように記述できますか?
c# - オブジェクト初期化構文を使用する場合、「コンストラクターと初期化子では、プロパティまたはフィールドのパラメーターバインディングのみがサポートされます」
Entity Frameworkクエリで、文字通り何時間も費やした非常に奇妙な問題が発生しています。
クエリを実行すると、例外が発生します。
コンストラクターと初期化子では、プロパティまたはフィールドパラメーターのバインディングのみがLINQtoEntitiesでサポートされます。
説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.NotSupportedException:コンストラクターと初期化子では、プロパティまたはフィールドパラメーターのバインディングのみがLINQtoEntitiesでサポートされます。
この問題は通常、クエリ内のパラメーターを使用してコンストラクターを呼び出すときに発生することを私は知っています。LINQ to Entitiesはそこで何が起こっているのかを知ることができないため、これは当然のことです。
ただし、私のクエリでは、オブジェクト初期化構文のみを使用して値を入力し、デフォルトのパラメーターなしコンストラクターが呼び出されると想定しています。
繰り返しになりますが、障害の原因となっている部分は次のとおりです。
Image
タイプのプロパティでありImageInfo
、超単純なクラスです。
私は明らかに、単純なプロパティの割り当て以外は何もしていません。このクエリが失敗するのはなぜですか?
c# - 属性にコレクション初期化子を使用できますか?
C#の属性をコレクション初期化子で使用できますか?
たとえば、次のようなことをしたいと思います。
属性に名前付きパラメーターを含めることができることは知っていますが、それはオブジェクト初期化子と非常に似ているように見えるので、コレクション初期化子も使用できるかどうか疑問に思いました。
c++ - ラッパークラスの静的初期化子リスト
構築時に静的初期化子リストをコンテナラッパークラスに「渡す」ことは可能ですか?それは次にそのメンバーを初期化しますか?
残念ながら、STLやBoostは使用できません。
これの有用性に疑問がある場合は、説明させてください。まず、これは非常に「調理された」セットアップです。セットアップ全体を説明することは、ここに投稿するのに十分ではなく、役に立ちません。ネストされた式テンプレートツリーがある場合を想像してみてください。コンパイル時にそれをトラバースし、関連するオブジェクトを収集して、上記のようなコンテナラッパーに格納します。ご不明な点がございましたらお問い合わせください。
編集済み:Tのデフォルトコンストラクターは呼び出さないでください。
c# - コンパイラは、NullReferenceException をスローする most-object-initializer を受け入れます
重複の可能性:
初期化構文
デモ用の短いコード サンプル (VS2010 SP1、64 ビット Win7):
最後の行がコンパイルされているのを見て驚き、実行時に爆発する前に気の利いた (一貫性はありませんが) ショートカットを見つけたと思いました。その最後の使用法には有用性がありますか?