問題タブ [dynamic-method]

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

c# - C#でメソッドを動的に呼び出す

私はたくさんのエンティティクラスを持っています、そして今、エンティティクラスのすべてのプロパティでゲッターとセッターに新しい機能を追加する必要があります(いくつかのメソッドを呼び出します)。私が言いたいことは次のようになります:

}

さまざまなタイプのフィールドについて、さまざまなメソッドを呼び出す必要がありrefreshContents()ますrefreshContetns("fieldName")。IoCと依存性注入の問題を解決しようとしています。私を手伝ってくれますか?

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

c# - 式ツリーを使用してオブジェクトのすべてのプロパティを比較する

式ツリーを使用して、あるタイプのインスタンスのすべてのプロパティをそのタイプの別のインスタンスのプロパティと比較するメソッドを動的に生成する単純なジェネレーターを作成しようとしています。intこれは、などのほとんどのプロパティで正常に機能しますが、 (およびおそらく他のnull許容値タイプ)stringでは失敗します。DateTime?

方法:

DateTime?プロパティでは、次のように失敗します。

タイプ'System.Nullable`1[System.DateTime]'の式は、メソッド'Boolean Equals(System.Object)'のタイプ'System.Object'のパラメーターには使用できません。

EqualsOK、それでそれはそれが期待する過負荷を見つけobjectます。それで、DateTime?それがに変換可能であるので、なぜ私はそれに渡すことができないのobjectですか?私が見るとNullable<T>、それは確かにのオーバーライドを持っていますEquals(object o)

PS:値を処理できないため、これはまだ適切なジェネレーターではないことに気付きましたが、それnullについては説明します:)

更新:Iraklisの答えはこの特定の問題に対しては機能しましたが、最終的には、私が十分だと思うはるかに単純なアプローチを採用しました。単にを使用してExpression.Equalください。私の場合の99%をカバーしていると思います(オーバーライドEqualsせずにオーバーライドを処理できるかどうかはわかりませんが、問題ありません==)。

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

grails - Grails ドメイン クラスに static get メソッドがありません

grails を使用した本番環境では、次のエラーが断続的に発生します。指定されたドメイン クラスの get メソッドがないと表示されます。これは、毎分約 300 回実行されるコードで数日に 1 回発生します。再現できませんでした。

他の誰かがこの問題に遭遇しましたか? grails 1.3.6 を使用しています。ドメイン クラスの ID は gorm のデフォルトです。Sun jvm バージョン 1.6.0_17-b04 を実行しています。

アップデート:

今日エラーが発生したときにもう少し知りました。JMS grails プラグインを使用していますが、JMS メッセージを受信して​​いるクラスの 1 つでエラーが発生します。grails がアプリケーションのブートストラップを完了する前に、JMS プラグインがメッセージの配信を開始したようです。grails の起動時にキューにメッセージがある場合、ログに例外が表示され始めます。grails が完全に開始されると、エラーは停止し、メッセージは正常に処理されます。私の推測では、ドメイン クラスに動的メソッドが追加される前に、grails 内のスプリング コンテキストが開始されます。

0 投票する
4 に答える
4260 参照

ruby - Rubyはハッシュからメソッドを作成します

ハッシュコレクションをクラスのメソッドに変換するために使用している次のコードがあります(アクティブレコードのようなものです)。私が抱えている問題は、セッターが機能していないことです。私はまだRubyに慣れていないので、少し振り返ったと思います。

メソッドが作成され、クラスで読み取ることができますが、設定しても機能しません。

0 投票する
4 に答える
2719 参照

java - これはダイナミックディスパッチですか?

これは動的ディスパッチですか:

完全に別のクラスで:

動作が両方のサブクラスで同じであるため、これが動的ディスパッチであるかどうかはわかりませんか?

そうでない場合、動作がサブクラスごとに定義されている場合、動的ディスパッチになりますか?

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

ruby - Railsアソシエーションを使用したRubysendメソッド

私はソート可能なテーブルモジュールのものを作ることをいじっています。いくつか存在するかもしれないことは知っていますが、これを自分でやって経験したいと思っています。私はそれをそのようにするという考えを持っていました:

私は次のようなことを計画しています:

これはタイトルと本文には問題なく機能しますが、withitを取得するLast Comment場合はcomment.last.titleエラーになります。私はやってみPost.send("comments.last.title")ましたが、言いますNoMethodError: undefined method 'comments.last.title' for #<Post:0x0000010331d220>

私はできることを知っていますがPost.send("comments").send("last").send("title")、それは機能しますが、フィールドを取得してonを分割することによって動的にそれを行う方法を考えることはできません。次に、送信をチェーンします。誰かがこれを行う方法について私にアドバイスを与えることができますか?私がこれを完全に間違って行っている場合も、同様のことを行うコードの方向に私に言ってください。私は専門家のルビー開発者ではありませんが、努力しています。

PS上記のコードは、テストするRuby / Railsを備えたコンピューターを使用していないため、機能しない可能性がありますが、うまくいけば、概念を理解できます。

乾杯

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

grails - Grails で動的メソッドや動的オブジェクトのドキュメントを検索するにはどうすればよいですか?

私は、AOPを介して Grails のドメイン オブジェクトに動的メソッドが追加されるという概念に精通しています。しかし、それらは動的であるため、それらのドキュメントをどのように見つけますか?

どの Interceptor クラスがメソッドをドメイン オブジェクトに適用するかを知っていたとしても、これらのメソッドのドキュメントをどこで探すべきかは明らかではありません...

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

javascript - Javascript:文字列データからメソッドを動的に構築する方法は?

特定のデータに対して実行するアクションのリストであるタスクを定義する XML ドキュメントがあります。この「タスク リスト」を、後で呼び出すことができる Javascript メソッドに変換する必要があります。このメソッドは、適切なデータを使用して一連の事前定義されたメソッドを呼び出します。どうすればこれを達成できますか?

重要な説明:
XML の解析については心配していません。重要なデータを定義済みのアクション メソッドにバインドするなど、タスク メソッドを実際に構築する方法に興味があります。それは私が苦労している部分です。

編集:例を修正して、もう少し面白くし、できればもう少し明確にしました。

XML:

Javascript:

ノードを呼び出すparseTask()と、呼び出されたときに実際に次のことを行う関数が作成されます。<task id="enter-castle">

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

.net - 動的メソッドとは何ですか? DynamicMethod は MethodBuilder とどう違うのですか?

リフレクション ベースの C# コードで動的メソッドに少し遭遇しましたが、それらが何であるかはまだ正確に把握していません。具体的DynamicMethodには、実行時に CLR メソッドの生成と指定を可能にするクラスがあるようです。MethodBuilderしかし、それからクラスもあります。どちらも非常に似たようなことをしているようです。どうやら「動的アセンブリ」はAssemblyBuilderクラスであり、「動的型」はTypeBuilderクラスです。いずれにせよ、それらはすべてSystem.Reflection.Emit名前空間に存在します。

MSDN には、この件に関する高レベルの貴重な情報がほとんどないようです。したがって、誰かが動的メソッドとは何か、ここですべてのXYZBuilderクラスが正確にどこで機能するのか、そしてそれぞれが何のために使用されるのかを説明できれば、それは素晴らしいことです. 私が知っておくべきその他の Reflection.Emit の型と機能も高く評価されます。

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

python - Python の動的ランタイム メソッド

screening_instance.get_omit_1 、screening_instance.get_omit_2 から screening_instance.get_omit_10 までアクセスしたい。get_omit_1、get_omit_2.. get_omit_%d のような各ケースのメソッドを作成せずにこれを行うより良い方法はありますか??

実行時に動的関数を作成しようとしましたが、問題がありました。私はこのようなことを試しました: