問題タブ [dynamicobject]

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

c#-4.0 - .NET 4 で System.Dynamic.DynamicObject をサポートする mongodb C# ドライバーはありますか?

.NET Razor と mongodb を使用するプロジェクトに取り組んでいます。私はこのようなことをしたいと思います:

ただし、現在の mongodb C# ドライバー FindAll() は、動的オブジェクトをサポートしていない BsonDocument のコレクションを返します。.NET 4 動的にサポートされている mongodb C# ドライバーを知っている人はいますか?

どうもありがとう

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

javascript - の設定値データベースから取得した後のタグ

私はJSPページを持っています。HTMLタグの下のそのページには、<input>タグがあります。これらの入力タグの値は、JDBC 接続を使用してデータベースから取得した後に設定されます。page1.jspデータベース接続を使用して値を取得するページにリダイレクトする関数を含む JavaScript コードがあるページがあるとします。クエリを実行すると、結果セット変数のすべての値が取得されます。これらの値を再度送信しpage1.jspて、タグの値として設定できるようにします。どうすればいいのか知りたいです。結果セット変数の各値をセッション変数に保存して後で使用する必要がありますか、または rs 変数をページ 1 に戻し、次の<input>ようにタグに値を設定する必要があります<%=rs.getInt("String")%>. 男は、動的オブジェクトを使用するように私に提案します。聞いたことはありますが、使ったことはありません。これを行うより良い方法は何ですか。

0 投票する
3 に答える
4129 参照

delphi - 動的TPanelの動的TPanel?

OK、次の画像に示すように、実行時にTScrollBoxサーフェスにカスタム数のTPanelを作成しようとしています。

ここに画像の説明を入力してください

これを取得するために、私は次のコードを使用していますが、それは正常に機能します。

現在、同じインデックス(img [0]-> pan [0]、img [1]-> pan [1]など)を持つすべてのTPanelにTImageオブジェクトを配置するのに問題があります。次の画像を見てください。

ここに画像の説明を入力してください

同じロジックを使用して、TImageを作成しようとしましたが、成功しませんでした。

私はこのコードを使用していますが、何が問題なのか理解できません。それは私にはとても単純に見えますが、どういうわけかそれは期待される効果を提供しません。

どういうわけか、すべてのTImageオブジェクトを最初のTPanel(pan [0])の同じ場所に配置します。それは言うので私には混乱しますParent := pan[i-1];が、何らかの理由でそれは常にTImageをpan[0]に入れます。ブレークポイントを使用して、すべてのforループサイクル(最後にApplication.ProcessMessagesを追加)の後に何が起こっているかを確認しようとしました。実際には10種類の画像が作成されますが、pan[0]に配置されます。もちろん、最後には、pan[0]にロードされた最後の画像だけが表示されます。

私の質問は、(同じ配列インデックスを持つ)動的TPanelごとに1つの動的TImageを作成する方法ですか?

解決しました!

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

c# - MVVMDynamicObject+エンティティフレームワークSTEエンティティ+プロパティ変更動作

DynamicObjectから派生したWPFプロジェクトのBaseViewModelを作成中ですが、メインエンティティに「関連する」エンティティへのプロパティの変更を処理する方法がよくわかりません(メインエンティティのナビゲーションプロパティビューモデル)。

例えば:

VM:

たとえば、これはカスタマーCRUDのVMになります。たとえば、Customerエンティティには、Address(Addressタイプのエンティティ)と呼ばれるナビゲーションプロパティがあります。

ここで問題となるのは、ビューをAddress内のプロパティにバインドするときに、変更がVMに報告されず、エンティティに直接報告されるため、VMレベルで定義された動作がトリガーされないことです。

説明が十分に明確でないかもしれないことを私は知っています、私は私の貧弱な英語で自分自身をよりよく説明する方法を知らないだけです。

私の質問は、汎用のDynamicObjectベースのVMが、メインエンティティの一部ではないプロパティの動作を定義する必要があるシナリオをどのように処理するかということです。

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

c# - TryInvokeMember が呼び出されないのはなぜですか?

私の DynamicObject 実装は次のようになります。

これは、このオブジェクトのインスタンスを使用する方法です。

以前機能していました:)、何が変わったのかわかりません。デバッガーは TryInvokeMember 呼び出しで壊れておらず、RuntimeBinderException. このクラスは、実行中のアセンブリとは異なるアセンブリで定義されています (同じソリューションからプロジェクトへの参照を追加することにより、通常の方法で参照されます)。

インスタンスで呼び出しを実行した後、次のスタック トレースを取得しています。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderController. SubmitError (Microsoft.CSharp.RuntimeBinder.Errors.CError pError) + 0x23 バイト
Microsoft.CSharp.RuntimeBinder.Semantics.LangCompiler. SubmitError (Microsoft.CSharp.RuntimeBinder.Errors.CParameterizedError エラー) + 0x24 バイト
Microsoft.CSharp.RuntimeBinder.Errors.ErrorHandling. ErrorTreeArgs (Microsoft.CSharp.RuntimeBinder.Errors.ErrorCode id、Microsoft.CSharp.RuntimeBinder.Errors.ErrArg[] prgarg) + 0x53 バイト Microsoft.CSharp.RuntimeBinder.Semantics.MemberLookup. ReportErrors () + 0x6cd バイト
Microsoft.CSharp.RuntimeBinder.RuntimeBinder. BindCall(Microsoft.CSharp.RuntimeBinder.ICSharpInvokeOrInvokeMemberBinder ペイロード、Microsoft.CSharp.RuntimeBinder.Semantics.EXPR callingObject、Microsoft.CSharp.RuntimeBinder.RuntimeBinder.ArgumentObject[] 引数、System.Collections.Generic.Dictionary ディクショナリ) + 0x206 バイト Microsoft.CSharp. RuntimeBinder.RuntimeBinder. DispatchPayload (System.Dynamic.DynamicMetaObjectBinder ペイロード、Microsoft.CSharp.RuntimeBinder.RuntimeBinder.ArgumentObject[] 引数、System.Collections.Generic.Dictionary ディクショナリ) + 0xb1 バイト
Microsoft.CSharp.RuntimeBinder.RuntimeBinder. バインドコア(System.Dynamic.DynamicMetaObjectBinder ペイロード、System.Collections.Generic.IEnumerable パラメーター、System.Dynamic.DynamicMetaObject[] args、out System.Dynamic.DynamicMetaObject deferredBinding) + 0xbc バイト
Microsoft.CSharp.RuntimeBinder.RuntimeBinder. Bind (System.Dynamic.DynamicMetaObjectBinder ペイロード、System.Collections.Generic.IEnumerable パラメーター、System.Dynamic.DynamicMetaObject[] args、out System.Dynamic.DynamicMetaObject deferredBinding) + 0x56 バイト
Microsoft.CSharp.RuntimeBinder.BinderHelper. 練る(System.Dynamic.DynamicMetaObjectBinder アクション、Microsoft.CSharp.RuntimeBinder.RuntimeBinder バインダー、System.Collections.Generic.IEnumerable 引数、System.Collections.Generic.IEnumerable arginfo、System.Dynamic.DynamicMetaObject onBindingError) + 0x2ca バイト Microsoft.CSharp.RuntimeBinder .CSharpInvokeMemberBinder。FallbackInvokeMember (System.Dynamic.DynamicMetaObject ターゲット、System.Dynamic.DynamicMetaObject[] args、System.Dynamic.DynamicMetaObject errorSuggestion) + 0x77 バイト
System.Dynamic.DynamicObject.MetaDynamic.BindInvokeMember. AnonymousMethod__10 (System.Dynamic.DynamicMetaObject e) + 0x1b バイト
System.Dynamic.DynamicObject.MetaDynamic. BindInvokeMember(System.Dynamic.InvokeMemberBinder バインダー、System.Dynamic.DynamicMetaObject[] 引数) + 0xb8 バイト System.Dynamic.InvokeMemberBinder.Bind(System.Dynamic.DynamicMetaObject ターゲット、System.Dynamic.DynamicMetaObject[] 引数) + 0x36 バイト System.Dynamic .DynamicMetaObjectBinder.Bind(object[] 引数、System.Collections.ObjectModel.ReadOnlyCollection パラメーター、System.Linq.Expressions.LabelTarget returnLabel) + 0xea バイト System.Runtime.CompilerServices.CallSiteBinder. BindCore >(System.Runtime.CompilerServices.CallSite> site, object[] args) + 0x80 バイト System.Dynamic.UpdateDelegates. UpdateAndExecuteVoid3 (System.Runtime.CompilerServices.CallSite サイト、オブジェクト arg0、10 進数 arg1、double arg2) + 0x30e バイト MyApp.DynCallsite. マイメソッド(文字列 str1、10 進数、文字列 str2) 96 行目 + 0x17d バイト C#

特殊な派生クラスの代わりに DynamicObject インスタンスを使用しているように見えます。ただし、デバッガーで callsite オブジェクトを調べると、DynCallsite と表示されるため、そうではないことを確認しました。何が原因でしょうか?

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

php - PHPで「オンザフライ」でクラスをロードする

既存のクラスがあり、「プラグイン」をロードするシステムを作成したいと考えています。これらの「プラグイン」はファイルとして作成され、メイン クラスとともにファイルに含まれます。

メインクラスは、これらの小さな「プラグイン」を独自のクラスで拡張する必要があると思います。問題は、どのプラグインに異なるユーザーが含まれるか分からないことです。したがって、クラスの拡張は動的です。

おそらくevalを使用せずに、オンザフライでクラスを拡張するにはどうすればよいですか(私もテストしていません)?

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

c# - C#DynamicObjectクラスメソッド

DyanamicObjectまたはExpandoObjectのサブクラスのクラスメソッドを作成する簡単な方法はありますか?

振り返りに頼るのが唯一の方法ですか?

私が言いたいのは:-のようなものです

この場合、Bird.Flyは、特定のインスタンスではなく、Birdのクラスに適用されます。

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

c# - C# DynamicObject 動的プロパティ

ExpandoObject を使用できず、自分自身をそのようにロールバックする必要があると仮定します:-

そして、私が持っているクラス階層をさらに下ります

次のことができるようになったので、これは非常に素晴らしいです:-

しかし、上記は、コンパイル時にプロパティ (年齢、名前など) を知っていることを前提としています。

実行時までそれらがどうなるかわからないとします。

上記を変更して、実行時にしかわからないプロパティをサポートするにはどうすればよいですか?

基本的に、TrySetMember を呼び出すコードを直接呼び出して、新しいプロパティを作成するか、定義されている場合はゲッター/セッターを使用する方法を尋ねていると思います。

次のような最終的な解決策:-

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

wpf - WPF 拡張ツールキット PropertyGrid をディクショナリまたはその他の動的ソースにバインドしますか?

複数の子要素を含む XML ファイルがあります。各子要素には一連の要素が含まれていますが、XML スキーマは文書化されていないため、考えられるすべての要素名を説明することはできません。私の目標は、子要素ごとにエディター ビューを提供することです。例えば:

XML ファイル

WPF ツールキットの PropertyGrid コントロール (または同様のもの) を使用して、のすべての子要素のリストを表示したいと考えて<element>いましたが、このコントロールは CLR オブジェクトにバインドされるように設計されています。もちろん、プロパティがどうなるかわからないので、プロパティを持つクラスを定義することはできません。expando オブジェクトにバインドするために次のコードを試しました。

しかし、プロパティは表示されません。ExpandoObject をうまく処理していないようです。私がやろうとしていることにアプローチするより良い方法はありますか? それを行うためのより良いコントロールはありますか?

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

javascript - 動的階層Javascriptオブジェクトループ

前の配列は空である必要があります。後の配列は、渡された動的な値から定義される必要なノードの数に応じて生成される必要があります。

階層内に独自のノード配列を持つレイヤー/レベルとして作成された各ノードを使用して、階層を動的に構築したいと思います。これは、ツリー構造を形成する必要があります。これは、上記のコードで説明されている階層構造です。ルートノードと、階層サイズを構成するノードとレベルの数が未定義である必要があります。ルートノード以外は修正しないでください。階層を読んだり検索したりする必要はありません。階層を構築する必要があります。配列は{"name": "A"、 "children":[]}で始まり、レベルとしてすべての新しいノードが作成されます{"name": "A"、 "children":[ここ-{"name": "A"、 "children":[]}]}。子配列では、どんどん深くなっていきます。基本的に、ルートノードを除いて、配列には呼び出し前の値がないはずです。関数呼び出しの後、配列は、データベースクエリの結果に応じて、呼び出しごとに異なる可能性のある番号の必要なノードで構成されている必要があります。すべての子配列には、1つ以上のノード値が含まれます。ルートを含めて、少なくとも2つのノードレベルが必要です。最初は空白のキャンバスである必要があります。つまり、事前定義された配列値はありません。