問題タブ [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.
objective-c - Objective-C シングルトンはどのように見えるべきですか?
私のシングルトンアクセサーメソッドは、通常、次の変形です。
これを改善するために何ができますか?
c# - .NET で JSON からオブジェクト インスタンスをインスタンス化できますか?
オブジェクト初期化子は JSON に非常に似ているため、.NET には匿名型があります。JSON などの文字列を取得して、JSON 文字列を表す匿名オブジェクトを作成できると便利です。
オブジェクト初期化子を使用して、匿名型を作成します。
オブジェクト初期化コード (できれば JSON のようなもの) の文字列表現を渡して、そのデータを使用して匿名型のインスタンスを作成できれば素晴らしいことです。
C# は動的ではなく、コンパイラは実際にオブジェクト初期化子と匿名型を実行可能な厳密に型指定されたコードに変換するため、それが可能かどうかはわかりません。これについては、この記事で説明します。
おそらく、JSON を使用してキー/値ディクショナリを作成する機能が最適です。
.NET でオブジェクトを JSON にシリアル化/逆シリアル化できることは知っていますが、私が探しているのは、JavaScript のしくみと同様に、本質的に緩く型付けされたオブジェクトを作成する方法です。
.NETでこれを行うための最良の解決策を知っている人はいますか?
更新:なぜ私がこれを求めているのかという文脈を明確にしすぎています...私は、C#が言語レベルで(おそらく)JSONをより適切にサポートする方法を考えていました。理由。そこで、ここに投稿して議論を始めようと思いました。
compiler-construction - C# オブジェクト初期化子と v2.0 コンパイラ エラー
特にオブジェクト初期化子の使用に関して、TeamCity (v4.0) でプロジェクトの 1 つを設定する際に問題が発生しています。
プロジェクトは正常にビルドされますが、TeamCity はビルド ファイルを好みのもの (MSBuild の突然変異) に変換し、ソリューションの一部のコードをコンパイルする際に、オブジェクト初期化子が表示されると中断します。
具体的には、エラーは次のとおりです。
これをさらに詳しく調べると、v2.0 フレームワーク ディレクトリから CSC を使用してビルド ファイルを TeamCity 形式に変換することに問題があるように思われます。
.NET 2.0 コンパイラでオブジェクト初期化子 (.NET 3.0 の機能) を使用してコードをコンパイルすることは可能ですか? 3.0 コンパイラ (存在する場合) または 3.5 コンパイラ?
興味のある方のために、実行されている CSC コマンドは次のとおりです。
ありがとう!
更新: ビルド ランナーを Nant からコマンド ランナーに変更することで問題を部分的に修正しました (読んだ: 満足していません)。フィードバック レベルは違う。他の提案をいただければ幸いです。
c# - ASP.NET 2.0 でオブジェクト初期化子を使用できないのはなぜですか?
.NET 2.0 を対象とする Visual Studio 2008 Windows プロジェクトなどでは使用できるのにObject Initializers
、.NET 2.0 を対象とする ASP.NET プロジェクトでは使用できないのはなぜですか?
これが C# 3.0 の機能であることは理解していますが、そうではありません。.NET 2.0 プロジェクトでこれを使用できる理由はわかりません。
.net - オブジェクト初期化構文を使用した操作の順序
オブジェクト初期化構文を使用してプロパティを設定する順序は、まったく同じ順序で実行されますか?
たとえば、これを行うと:
各プロパティは同じ順序で設定されますか?
c# - C# オブジェクト初期化子の何が間違っていますか?
C# で新しいオブジェクト初期化子を使用してオブジェクトを初期化すると、クラス内のプロパティの 1 つを使用してさらにアクションを実行できず、その理由がわかりません。
私のコード例:
Person クラス内では、x は 0 (デフォルト) になります。
しかし、person.Age は 29 に等しいです。これは正常なことだと確信していますが、その理由を理解したいと思います。
c# - オブジェクトの初期化と「名前付きコンストラクタのイディオム」
Ok。だから私は値のリストを持っています、そして私は次のようなことをしたいと思います:
ここで問題です。次のような名前付きコンストラクターを操作するには、上記の例が必要です。
それを行う方法はありますか?基本的に、オブジェクト インスタンスを取得するために呼び出す必要がある静的メソッドがあり、上記のように初期化したいと考えています。
編集: 現時点では MyType のインターフェイスを変更する簡単な方法がないため、新しい関数呼び出しを追加することは (おそらく「最善の」アプローチですが) 現時点ではあまり実用的ではありません。
c# - C# 3.0 オブジェクトの初期化 - オブジェクトが初期化されているという通知はありますか?
読み取り専用モードと読み書きモードの両方をサポートする必要があるいくつかのドメイン オブジェクトがあります。現在、オブジェクトのプロパティを変更しようとするとbool Locked
、. オブジェクトのデフォルトの状態は Locked です。Locked
InvalidOperationException
C# 3 のオブジェクト初期化構文では、初期化中にオブジェクトをロック解除 (または既定でロック解除) し、最後に明示的にロックする必要があるという小さな問題が発生します。
C# 3 のオブジェクト初期化構文を使用する場合、オブジェクトが初期化されている、または初期化が完了したという通知を受け取る手段はありますか? System.ComponentModel.ISupportInitialize
私の最善の希望でしたが、呼び出されませんでした。
c# - css クラス名を asp.mvc ビュー ヘルパーに渡す
ASP.NET MVC ビュー ヘルパーでは、次のようなことができます
次のHTMLが生成されます
私の質問は....「クラス」属性を設定したい場合はどうすればよいですか?
「クラス」は予約語であるため、コンパイルされません。
回避策はありますか?