問題タブ [delegates]
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#でイベントを呼び出す方法は?
だから私はデザインの問題を抱えています。デリゲートとイベントを持つマウス クラスがあります。つまり、MouseButtonPressed、MouseMoved です。など、状態エンジンによって呼び出されます。
私がしたいのは、IClickable や IDraggable などのインターフェイスを作成し、マウス イベントが呼び出されたときに呼び出されるインターフェイス内にイベントを設定することです。
次に、MouseDevice クラスにある
と
したがって、基本的には、buttonClicked が呼び出されたときに Clicked を呼び出したいと考えています。
これを行う方法はありますか?
c# - C# デリゲート メソッド スタブを生成する
デリゲート スタブ メソッドを自動的に作成する方法を知っている人はいますか?
WPF では、常にデリゲートを渡す必要があるようです。存在しないメソッド名を入力して、メソッド スタブを自動的に生成できるようにしたいと考えています。
javascript - 元のターゲットを取得する最良の方法
jQueryのようなもの、および/またはjQuery(または一般的にブラウザのJavaScript)でイベントの元のターゲットを取得するベストプラクティスの方法は何ですか.
私はこのようなものを使用してきました
これは機能しますが、2 行の機能スニッフィングには満足できません。より良い方法はありますか?
c# - 呼び出し元とは別のスレッドにイベント ハンドラーを配置することは可能ですか?
Tasking という名前のコンポーネント (私は変更できません) があるとします。このコンポーネントは、「DoTask」メソッドを公開します。このメソッドは、時間のかかる計算を実行し、イベント TaskCompleted を介して結果を返します。通常、これはユーザーが結果を取得した後に閉じる Windows フォームで呼び出されます。
私の特定のシナリオでは、一部のデータ (データベース レコード) を TaskCompleted で返されたデータに関連付け、それを使用してデータベース レコードを更新する必要があります。
イベントが処理されたときに通知するために AutoResetEvent の使用を調査しました。問題は、AutoResetEvent.WaitOne() がブロックされ、イベント ハンドラーが呼び出されないことです。通常、AutoResetEvents は別のスレッドで呼び出されるため、イベント ハンドラーが呼び出すメソッドと同じスレッド上にあることを意味すると思います。
基本的に、結果がイベントを介して返される非同期呼び出しを、イベントが処理され、結果が両方のイベント ハンドラーにアクセス可能な場所に配置されるまでブロックすることにより、同期呼び出し (つまり、別のクラスから DoSyncTask を呼び出す) に変えたいと考えています。および非同期呼び出しを開始したメソッドを呼び出したメソッド。
Application.Run が呼び出されず、ApplicationContext オブジェクトが使用できないウィンドウ サービスで、その動作を複製する必要があるだけです。
c# - 関数を作成し、C# コードの 1 行で呼び出す
関数を動的に作成し、1 行のコードで呼び出す (関数に値を渡す) ことはできますか?
明確化:匿名関数を作成して直接呼び出すことができる方法を探していました。並べ替え:
またはそのようなもの(上記のコードがコンパイルされないことは知っていますが、近いものが欲しかったのです)。
c# - C# - 誰かがデリゲートを使用する理由と場所を教えてもらえますか?
メソッドへのポインターとしてのC#のデリゲートの概念を理解していると思いますが、それらを使用することをお勧めする良い例を見つけることができません。デリゲートを使用した方がはるかにエレガント/優れている、または他の方法を使用して解決できない例は何ですか?
c# - イベントの割り当ての違いは何ですか...正しい方法は何ですか?
イベント ハンドラーをアタッチするこれらの方法の違いを教えてください。
c# - 多くの多対多フィルター
今日、dear 述語によってさらに単純化された非常に単純な問題に直面しました。一種のイベント ログがあり、条件のリストを使用してクライアント側 (Windows フォーム) でフィルター処理したいと考えていました。いくつかのカテゴリでフィルタリングする実装から始めました。
次のステップは、他のいくつかのフィルターを実装することです。これらを一般化して、フィルターごとに 1 つのメソッドを作成する必要がないようにする良い方法を知っていますか? または、少なくとも、同時に適用したいフィルターの動的リストを作成するクリーンな方法です。
クライアントはまだフレームワーク 3.0 を使用しているため、LINQ はありません。
更新: 自分のソリューションの功績を認めるべき人物を決めるのに苦労しました。マークにはいくつかの素晴らしいアイデアがあり、それらを説明するのが本当に上手です。私の問題をもう少しうまく説明していれば、おそらく彼から答えが得られたでしょう。最終的に、私を軌道に乗せたのは、cmartin が提供した汎用 Filter クラスでした。以下で使用される Filter クラスは、cmartins の回答と、自分で思いつく User クラスにあります。
c# - 「冗長なデリゲートの作成」とは何ですか?
クラスのイベントに登録していましたが、いつものように怠惰で、Visual Studio 2008 Proに組み込まれているオートコンプリート機能を使用して、デリゲートの作成とそれに関連付けられたメソッドを自動作成しました。
通常、Visual Studioがイベントハンドラーを生成するときはよく考えませんが、リファクタリングから推奨事項を受け取りました。「冗長なデリゲート作成を削除する」プロ。推奨事項は次のようになります。
デリゲートの作成はどのような状況で冗長であり、デリゲートの作成はいつ適切ですか?
ありがとう。