問題タブ [multicastdelegate]
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# - 後で代理人を呼び出すこと。デリゲートキュー
だから私はc#にかなり慣れていないので、この問題に遭遇しました。異なるデリゲートを呼び出すメソッドがいくつかあります(引数の種類が異なる可能性があります)。ただし、これらの代理人はすぐに呼び出されるべきではありません。メインスレッドがデリゲートを実行している場合は、デリゲートをキューに入れて後で実行するように、後で実行する必要があります。
これでDynamicInvokeを使用できる可能性がありますが、キューの速度が大幅に低下するかどうかはわかりません。さらに、デリゲートタイプと、検索するパラメーターの種類がわかっているため、ランタイムに依存しません。できれば助けてください、私は本当に答えが必要です。
みんなありがとう(応答してくれます)
c# - マルチキャスト デリゲートは Builder パターンを実装しますか?
マルチキャスト デリゲートの使用は、Builder デザイン パターンを実装する適切な方法ですか?
私が質問する理由は、Builder パターンの概念/理解が、レゴ ブロックのように組み合わせ/再配置できるメソッドのコレクションであるためです。したがって、次の方法があるかもしれません。
...それを組み合わせたり、LEGO で組み合わせたりできるので、ある朝、
...別の朝:
...別の朝:
(etc. &c. ad infinitum ad nauseum)
また、マルチキャスト デリゲートを使用すると、同じ署名のメソッドをデリゲートのインスタンスに追加でき、それらは追加した順序で起動するため、ここには意味的なつながりがあるようです (私の考えでは/私の現在の考え方に対して、とりあえず)。間違っているかもしれませんが、質問させてください。
c# - マルチキャスト デリゲートの戻り値の型は void でなければなりません。なんで?
マルチキャスト デリゲートの戻り値の型は void である必要があります。そうでない場合、例外がスローされます。
その背後にある理由を知りたいのですが、複数のメソッドがデリゲートと同じ戻り値の型を持つ可能性がある場合はどうなりますか?
castle-windsor - キャッスルウィンザー施設がナンシーウィンザーブートストラッパーとうまく機能していない
ナンシー0.7から0.12にアップグレードしようとすると奇妙な問題が発生します。以前は、ブートストラッパー内のすべてのサービスのログを記録する機能を登録していました。
LoggingFacilityは次のようになります。
残念ながら、0.12 / Castle 3.1にアップグレードしてから、次の行でWindsorNancyBootstrapper.RegisterTypes
問題が発生しています。
基本的に、CastleはFuncの周りに動的プロキシを作成しようとします。この登録が私の施設がサブスクライブしたイベントをトリガーした場合、これは問題ありませんが、そうではありません。それでも、インターセプターはとにかく登録されているようです。
MulticastDelgate(Func <>のILの親)が封印されているため、プロキシを作成しようとすると明らかに失敗します。TypeLoadExceptionアセンブリからタイプ'Castle.Proxies.Func`1Proxy'を読み込めませんでした'DynamicProxyGenAssembly2、Version = 0.0.0.0、Culture = neutral 、PublicKeyToken =a621a9e7e5c32e69'親タイプがシールされているため。
ここで何をするのかわかりませんが、FacilitiesとNancy 0.12の経験はありますか?
objective-c - マルチキャスト ブロック: 一般化する方法
ゴール
ブロックをプラグインして特定のイベントを受け取るために使用できるさまざまなプロパティを持つクラスがあります。
クライアント コードでは、C# の MulticastDelegate と同様に、このプロパティにハンドラー ブロックを動的に追加/削除したいと考えています。
logger
たとえば、プラグインしたいのですが、特定のメソッドの実行中に-(id)init
のみ使用します。が接続されてdoSomething
いる間は、実行する必要があります。doSomething
logger
現在の実装
NSMutableArray
ブロックを維持するために、ブロックのコピーを保存し、登録されているすべてのブロックにイベントをブロードキャストする を使用することを考えました(オブザーバー パターン)。
- (id)init
- (void)someOtherMethod
未解決の質問
メソッドは、任意の引数のカウント/タイプを持つブロックに一般化できますか? 私はこのようにそれを使うことができるように:
ここでの問題は、 の型が であるということself.object.handler
ですvoid (^)(int, int)
。したがって、MulticastBlock
ブロックを模倣して、受信した呼び出しを配列に転送する必要があります。
ここで説明されている手法を使用できますか?
すべての呼び出しをインターセプトし、配列要素ごとにコピーして、新しい呼び出しターゲットを割り当てているのでしょうか?
vb.net - VB.NET プログラムへのマルチキャスト デリゲートの追加
ある課題で、デリゲートを使用して 4 つの基本的な数学関数を一度に実行するプログラムを作成することになっていました。私がしたこと。これがそのコードです。
ここで、4 つのプロシージャすべてを保持し、DynamicInvoke() メソッドを使用してプロシージャを呼び出すマルチキャスト デリゲートをこのプログラムに追加するように依頼されました。プログラムのどこにどのように追加しますか?
c# - ソフトウェア コーディングにおけるマルチキャスト デリゲートの有用性
定義によると、マルチキャスト デリゲートの概念は、それが複数の関数への参照を保持していることを説明しています。しかし、日常の実践や実際の例で使用されるマルチキャスト デリゲートはどこにあるのでしょうか。
ありがとう
ios - Swift 言語マルチキャスト デリゲート
Swift でマルチキャスト デリゲート機能を実装しようとしています。Objective C には、この優れた実装があります。
https://github.com/robbiehanson/XMPPFramework/blob/master/Utilities/GCDMulticastDelegate.m
そして、この基本的な機能を作成しました:
私の問題は、これを行う方法を理解できないように見えることです:
コマンド「testString()」をノード内のすべてのデリゲートに与えるため。誰でもこれで私を助けることができますか?
c# - 1 つのイベントから複数のメソッドを呼び出す適切な方法は何ですか?
pictureBox クリック イベントから複数の色補正メソッドを呼び出しています。問題は、メソッドがスキップされる場合があることです。メソッドが 2 回実行されることがあります。したがって、メソッドを呼び出す最善の方法を使用していない可能性があります。コードは次のとおりです。
編集:質問が不明確であるというコメントを受け取りました。私には明らかです。しかし、私が間違っている場合に備えて、明確にさせてください。複数のメソッドを呼び出す現在の方法でエラーが発生しています。そうする適切な方法は何ですか?
6 つのメソッドをすべて表示するにはスペースがかかりすぎますが、1 つあれば十分です。
}
複数のメソッドを呼び出すためにマルチキャスト デリゲートが使用されていると聞いたことがありますが、それらを正しく使用する方法や、それが最善の方法であるかどうかさえわかりません。おすすめは?