問題タブ [expandoobject]
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# - ExpandoObjects へのメソッドの追加
アップデート
問題はコードではありません。問題は、動的オブジェクトを直接のウィンドウから評価できないように見えることです。
メソッドを ExpandoObject に追加しようとしていますが、それを機能させる方法がわかりません。これが私のコードです:
誰でもこれを行う方法を知っていますか?
c# - ExpandoObject にメソッドを追加するときの「キーワード 'this' は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です」
(動的に追加された) プロパティを返す動的メソッドを ExpandoObject に追加しようとしていますが、常にエラーが発生します。
私はここで何か間違っていますか?
コンパイラは次のエラーにフラグを立てています: エラー 1
キーワード 'this' は、静的プロパティ、静的メソッド、または静的フィールド初期化子では無効です
D:\rnd\GettingStarted\DynamicDemo\ExpandoFun.cs 20 63 DynamicDemo
c# - グリッドビューを ExpandoObject にデータバインドする方法
を使用してASP.NETGridView
をにデータバインドしようとすると、次の例外が発生します。IEnumerable<ExpandoObject>
ObjectDataSource
System.Web.HttpException (0x80004005): DataBinding: 'System.Dynamic.ExpandoObject' に 'StoreID' という名前のプロパティが含まれていません。
にデータバインドする方法を知っている人はいますExpandoObjects
か?
c# - ExpandoObjectを.NET4でシリアル化できますか?
System.Dynamic.ExpandoObject
実行時にプロパティを動的に作成できるように、を使用しようとしています。後で、このオブジェクトのインスタンスを渡す必要があり、使用されるメカニズムにはシリアル化が必要です。
もちろん、動的オブジェクトをシリアル化しようとすると、例外が発生します。
System.Runtime.Serialization.SerializationExceptionは処理されませんでした。
アセンブリ'System.Core、Version = 4.0.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'に「System.Dynamic.ExpandoObject」と入力してもシリアル化可能としてマークされていません。
ExpandoObjectをシリアル化できますか?シリアル化可能な動的オブジェクトを作成する別のアプローチはありますか?おそらくDynamicObjectラッパーを使用していますか?
エラーを再現するために、非常に単純なWindowsフォームの例を作成しました。
c# - プロパティを ExpandoObject に動的に追加する
実行時にプロパティを ExpandoObject に動的に追加したいと考えています。たとえば、文字列プロパティ呼び出し NewProp を追加するには、次のように書きたいと思います
これは簡単に可能ですか?
c# - オーバーヘッドが最小の .NET 3.5 の ExpandoObject の代替
最小のオーバーヘッドで .NET 3.5 アプリケーションで ExpandoObject の機能を模倣するにはどうすればよいですか? これまでのところ、私の最善のリードは Lin Fu フレームワーク ( http://www.codeproject.com/KB/cs/LinFuPart2.aspx ) を使用することですが、もっと良いものがあるかもしれないと考えています。
ここで何をしようとしているのかをよりよく理解するために、私の目的は a のパラメーターから型を動的に作成することMethodInfo
です。だから、基本的に私はこれを変えたい:
の中へ
実行時に。Linq 式を使用しているため、リフレクションを使用してパラメーターにアクセスできる必要があります。
c# - ExpandoObject を MongoDB に永続化する
任意の数のプロパティを持つ ExpandoObject があります。これらのプロパティを MongoDB データベースに BsonDocument として保持したいと考えています。私は次のコードでそうしようとします:
ただし、オブジェクトで拡張メソッド ToBson() を呼び出すと、次の例外が発生します。State が Initial の場合、WriteInt32 を呼び出せません。
私が知っている唯一の WrtieInt32 は、Marshall クラスの静的メソッドです。私はこれに間違って近づいていますか?
c# - asp.net mvcでJsonResultを介して返されたExpandoObjectを平坦化する方法は?
ExpandoObject
実行時にサーバー側の動的オブジェクトをコンパイルするのが本当に好きですが、JSON シリアライゼーション中にこれをフラット化するのに苦労しています。まず、オブジェクトをインスタンス化します。
ここまでは順調ですね。私の MVC コントローラーでは、これを JsonResult として送信したいので、次のようにします。
これにより、JSON が以下のようにシリアル化され、ブラウザーによって消費されます。
しかし、私が本当に欲しいのはこれを見ることです:
--dynamic
の代わりに使用すればこれを達成できることはわかっていますが、プロパティと値を単一のオブジェクトにシリアル化できます (キーまたは値のビジネスはありません)。ランタイムまでオブジェクトに必要なプロパティであり、私が知る限り、を使用せずにプロパティを動的に追加することはできません。ExpandoObject
JsonResult
dynamic
ExpandoObject
dynamic
ExpandoObject
JavaScriptで「キー」、「値」のビジネスをふるいにかける必要があるかもしれませんが、クライアントに送信する前にこれを理解したいと思っていました。ご協力いただきありがとうございます!
c# - Short way to achieve dynamic objects from LINQ to XML select query?
Is there an initialization syntax to the ExpandoObject
that I can use to my advantage in a LINQ to XML query for brevity purposes?
Note: The results of the query are intended to be passed outside the scope of the current assembly so anonymous types are out of the question (see why here).
I'm trying to use brief syntax like the following to create dynamic/expando objects:
More involved solutions to make this code work might be:
- create concrete class and initialize it instead (but I don't want to create a bunch of those).
- use anonymous type and copy its members to a dynamic object (somewhat redundant) and return the dynamic objects
Is there an equally short syntax to achieve what I intend to do by the erroneous code in question, or will I have to expand the code base in some manner to get the desired result?