問題タブ [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.
.net - このエラーを修正するにはどうすればよいですか: "MyEvent += expected"?
デリゲートがあり、次のように言います。
イベントがあり、次のように言います。
イベントの呼び出し中に、次のエラー メッセージが表示されます。
「MyEvent += 予想 .....」
これを解決するにはどうすればよいですか?
c# - デリゲート キーワードとラムダ表記
コンパイルしたら、次の違いがありますか。
と
?
.net - デリゲートを使用する利点は?
Observer パターンを VB.NET や C#、その他の一流の .NET 言語で実装しようと考えています。これにはデリゲートを使用できると聞いたことがありますが、オブザーバーに実装されたプレーンな古いインターフェイスよりもデリゲートが好まれる理由がわかりません。そう、
- 独自のインターフェイスを定義し、それらを実装するオブジェクトへの参照を渡す代わりに、デリゲートを使用する必要があるのはなぜですか?
- デリゲートの使用を避けて、古き良き時代のインターフェイスを使用する必要があるのはなぜですか?
.net - デリゲートを使用すると、.NET プログラムの速度が低下しますか?
デリゲートを使用するとプログラムが遅くなりますか?
それらが私のプログラムを遅くするかどうか本当にわからないので、私はそれらを避けてきました。かなりの CPU パワーを使用する (キャッチ) 例外が発生するかどうかはわかっていますが、デリゲートとイベント、および .NET がそれらに対して行うことについてはわかりません。
c# - C# デリゲート - どのくらいの頻度で、いつ使用しますか?
デリゲートは非常に強力な言語機能のように見えますが、私はまだそれらを怒って使用する機会を見つけていません (私が言わなければならない DAL を除いて)。
それらをどのくらいの頻度で使用しますか? また、どのような状況で最も役立つと思いますか?
design-patterns - クロージャー/デリゲート/関数ポインターを使用してプログラミング言語でテンプレート メソッド パターンを使用しますか?
私は過去 8 年間、C# と Java の間を行ったり来たりしてきました。
私が驚くべきことの 1 つは、C# での "テンプレート メソッド" デザイン パターンの使用を完全にやめたことです。実際、C# では、このパターンをアンチパターンと考えるようになりました。
http://en.wikipedia.org/wiki/Template_method_pattern
Java に戻ると、このパターンは生きていて素晴らしいものであることがわかります。まだアンティークに見えると思いますが、Java でこれを行う方法は他にないことに気付きました。Javaもアンティークに見えます;)
これはとにかく出てくるので、なぜそれはアンチパターンなのですか?
- 多くの場合、「間違った理由」で継承階層を使い果たします。
- 基本クラスには、あらゆる種類の無関係なコードが散らばる傾向があります。
- 多くの場合、開発プロセスのかなり早い段階で、設計をロックダウンする必要があります。(多くの場合、時期尚早のロックダウン)
- 後の段階でこれを変更すると、ますます難しくなります。
したがって、クロージャー/デリゲート/関数ポインターを使用すると、通常、サブクラス化する代わりに関数を渡します。
質問に戻ります。
あなたの言語にクロージャー/デリゲート/関数がある場合、テンプレート メソッドを使用しますか? また、いつ使用しますか?
c# - デリゲートを配置する場所。.
アプリケーションの最適なディレクトリ構造を決定しようとしています
私は持っている:
UI
データ
インターフェイス
しかし、デリゲートをどこに置くべきかわかりません..
別の Delegates フォルダーが必要か、または使用されているのと同じクラスにデリゲートを格納する必要があります。.
delegates - Func <>デリゲートの何がそんなに素晴らしいのですか?
これが基本的なものである場合は申し訳ありませんが、私は.Net3.5でピックアップしようとしていました。
質問:Func <>について何か素晴らしいことはありますか?それは5つのオーバーロードですか?その見た目から、正確に5つのオーバーロードとそれ以上のオーバーロードを使用して、MyFunc<>という同様のデルゲートを自分で作成できます。
例:public delegate TResult MyFunc<TResult>()
およびさまざまなオーバーロードの組み合わせ..
Func <>の代表者を理解しようとして、次のシナリオを思いついたときに、この考えが浮かびました。
これは、int型の1つのパラメーターとint型の戻り型を持つデリゲートを意味します。5つのバリエーションがあります(インテリセンスによるオーバーロードを見る場合)。だから私は、リターンタイプのないデリゲートを持つことができると推測していますか?
では、Func <>は素晴らしいものではなく、.Net Frameworkの単なる例であり、必要に応じて、独自のニーズに合わせてカスタムの「func <>」デリゲートを作成できると言っても過言ではありませんか?
ありがとう、
cocoa - NSApplication デリゲートと設定ペイン
システム環境設定ペイン内から NSApp デリゲートを制御できないようですが、これは理解できます。プログラムがアクティブになったときにオブジェクトに通知する他の方法はありますか?
c# - 空の C# イベント ハンドラーを自動的に作成する
ハンドラーがアタッチされていない C# でイベントを発生させることはできません。そのため、各呼び出しの前に、イベントが null かどうかを確認する必要があります。
コードをできるだけクリーンに保ち、これらの null チェックを取り除きたいと考えています。少なくとも私の場合は、パフォーマンスに大きな影響を与えるとは思いません。
現在、空のインラインハンドラーを各イベントに手動で追加することでこれを解決しています。私はそれを行うことを覚えておく必要があるため、これはエラーが発生しやすいです。
リフレクションといくつかの CLR マジックを使用して、特定のクラスのすべてのイベントに対して空のハンドラーを自動的に生成する方法はありますか?