問題タブ [idynamicobject]

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 に答える
5110 参照

dynamic - C#4 の IDynamicObject インターフェイスをどのように実装しますか?

C# 4.0 で「メソッド欠落」セマンティクスなどを実装するには、IDynamicObject を実装する必要があります。

私が知る限り、IDynamicObject は実際には DLR の一部であるため、新しいものではありません。しかし、私はそれに関する多くのドキュメントを見つけることができませんでした.

非常に単純な実装例がいくつかあります (fx hereおよびhere ) が、より完全な実装または実際のドキュメントを教えてくれる人はいますか?

特に、「パラメーター」パラメーターをどのように正確に処理することになっていますか?

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

visual-studio-2010 - C# 4 で method_missing を実装して、実際に値を返すようにすることはできますか?

IDynamicObject に浮かんでいる 2 つのブログ投稿すべてに基づいて、C# 4 で method_missing を実装する方法を見つけようとしていました。

私がやりたいのは、リポジトリを持つビジネス ロジック レイヤーを用意することです。メソッドがビジネス ロジック レイヤーにない場合は、リポジトリを呼び出してその結果を渡すだけです。だから私はこのようなクラスを持っています:

RepositoryMetaObect では、次のように Call メソッドを実装します。

(RepositoryMetaObject コードの残りの部分はおそらく興味深いものではありませんが、ここに含めました: http://pastie.org/312842 )

私が思う問題は、Invoke の結果に対して何もしていないことです。MetaObject 自体を返すだけです。

今私がこれを行うとき:

GetByID が呼び出されますが、myCustomer のプロパティにアクセスしようとすると、ハングします。

誰でも助けてもらえますか?

完全なコードは、 https ://dl.getdropbox.com/u/277640/BusinessLogicLayer.zip からダウンロードできます。

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

c#-4.0 - IDynamicObject 実装は、複数のプロパティ呼び出しを無視します

IDynamicObject を C# 4 で実装し、Dictionary への単純なプロパティ getter/setter ディスパッチを行うカスタム MetaObject サブクラスを返します。ロケット科学ではありません。

私がこれを行う場合:

次に、'Joe' がコンソールに出力されます...'Name' セッターへの 2 番目の呼び出しは呼び出されません (私のカスタム ディスパッチャー コードにステップ インすることはまったくありません)。

DLR がコールサイト キャッシングを行うことは知っていますが、ここでは当てはまらないと思いました。何が起こっているか知っている人はいますか?

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

c# - VS.Net 2010 に System.Scripting がありません - どこで見つけられますか?

VS.Net 2010 をインストールしていくつかの新しい C# 機能を試してみました。IDynamicObject インターフェイスを使用しようとしていますが、System.Scripting 名前空間が見つからないため使用できません。これを取得するには、何をインストールする必要がありますか?

ありがとう!

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

c# - IDynamicObject が見つかりませんでしたか?

ここでサンプル コードを実行しようとすると: http://www.nikhilk.net/Live-Search-REST-API.aspx

私は得る:

エラー 52 型または名前空間名 'IDynamicObject' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?) E:\repo\NikhilK-dynamicrest-a93707a\NikhilK-dynamicrest-a93707a\Core\DynamicObject.cs 19 43 ダイナミックレスト

プロジェクトは .net 4 を実行しています - これは標準インポートの一部であるべきではありませんか? 私は何かを逃していますか?この作業を行うにはどうすればよいですか?

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

python - DLRとパフォーマンス

手動で指定した多数の計算を可能な限り高速に実行するWebサービスを作成するつもりであり、DLRの使用を検討してきました。

これが長い場合は申し訳ありませんが、お気軽にざっと目を通し、一般的な要点を理解してください。

計算を非常に簡単に指定できるため、IronPythonライブラリを使用しています。私の作品のラップトップは、次のことを行うと、毎秒約40万回の計算のパフォーマンスを提供します。

DynamicValueは、事前に構築された配列(実行時にシードおよび構築されたもの)から乱数を返すクラスです。

同じことを行うためにDLRクラスを作成すると、はるかに高いパフォーマンスが得られます(1秒あたり約10,000,000回の計算)。クラスは次のとおりです。

次のようにして、同じ方法で呼び出され、テストされます。

ar1とar2が事前に作成されている場合、実行時にシードされた乱数の配列。

この方法では速度は素晴らしいですが、計算を指定するのは簡単ではありません。基本的に、独自のレクサーとパーサーを作成することを検討していますが、IronPythonには必要なものがすべて揃っています。

IronPythonはDLRの上に実装されているので、はるかに優れたパフォーマンスを得ることができると思っていました。また、私が得ているものよりも優れたパフォーマンスを実現できました。

私の例はIronPythonエンジンを最大限に活用していますか?それから大幅に優れたパフォーマンスを引き出すことは可能ですか?

(編集)最初の例と同じですが、C#のループを使用して、変数を設定し、Python関数を呼び出します。

ここで、pysはpyのScriptScopeであり、args1は事前に作成されたランダムなdoubleの配列です。この例は、Pythonコードでループを実行し、配列全体を渡すよりも実行速度が遅くなります。

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

c# - C#Winformの動的自動更新(UI、グリッドへ)バインディングリスト?

これを正しく行っているかどうかさえわかりません。しかし基本的に、クラス/インターフェースから構築されたオブジェクトのリストがあります。そこから、リストをDataGridViewWindows フォーム (C#)にバインドしています。

ここでリストは、UI を自動更新する同期リストです。この場合はDataGridView.

すべてが正常に機能するようになりましたが、リストに動的オブジェクトが必要です。つまり、オブジェクトにはデフォルトで 2 つの静的プロパティ (ID、名前) があり、実行時にユーザーが残りのプロパティを選択します。これらは、データ グリッドにバインドする必要があります。リストの更新は、グリッドに自動的に反映されます。

動的オブジェクトを使用できることは承知していますが、ソリューションにアプローチする方法を知りたいです。

現在IPersonInfoはオブジェクトのタイプです。実行時にこのタイプの動的プロパティを追加する必要があります。

これについて手伝ってもらえますか?