問題タブ [collection-initializer]
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# が初めてなので、アクセサーとオブジェクト初期化子は私にとってまったく新しい概念です。そうは言っても、次の例が本当に混乱していることを除いて、私はそれらをうまく処理していると思います。
上記のコードの出力は次のとおりです (実例はこちらをご覧ください):
Field
期待どおりに動作しますが、Coll
混乱します。これColl
は、コレクション初期化子がプロパティ (または少なくとも非自動プロパティ) と混合しないことを意味します。ただし、その場合は、コンパイル時のエラーが予想されます。
動作のその部分に関係なく、私をさらに混乱させるのは、の内部値coll_
が何らかの形で初期化子の値に設定されていることです。
Coll
a)の set が呼び出されない理由と、C# で の値を設定する方法を知りたいですcoll_
。Coll
C# がcoll_
内部ストレージとして識別するのに十分なget および set アクセサーでのその識別子の使用です。それとも、対応する型の唯一のメンバーであるため設定されているのでしょうか?
c# - 関数からの可用性のためのクラス内リストの初期化
クラスのコレクション初期化子の値でリストを初期化して、別の関数から使用できるようにしたい:
括弧付きとなしのリストの違いは何ですか。この場合、どちらが適切ですか:
c# - C#プロパティが内部セットであるにもかかわらず、辞書がプロパティ設定を許可する理由
バリデーションを書くために流暢なバリデーション API を使用しています。
クラスでinternal set
プロパティに出くわしました。ValidationContext
この質問で内部設定プロパティに出くわしました。だから、私はこのような辞書の値を設定することができます
作品にアイテムを追加する上記のコードRootcontextData
。
ただし、別のディクショナリを RootContextData に直接割り当てる次の行では、コンパイル時エラーが発生します。
プロパティまたはインデクサー 'ValidationContext.RootContextData' を割り当てることができません -- 読み取り専用です
したがって、項目の辞書をコンテキスト データに追加するには、辞書をループして追加する必要があります。最初のものは機能するが、直接割り当てが機能しない理由を見て驚いています。