問題タブ [anonymous-methods]

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

c# - C# の無名関数内の変数のスコープ

C# の無名関数内の変数のスコープに疑問があります。

以下のプログラムを検討してください。

私の VS2008 IDE は次のエラーを出します: [練習は名前空間練習内のクラスです]

1. エラー CS1643: すべてのコード パスが型 'Practice.Practice.OtherDel' の匿名メソッドで値を返すわけではありません 2. エラー CS1593: デリゲート 'OtherDel' は '0' 引数を取りません。

int 変数 y がdel2 定義のスコープ内にあることは、本で説明されています: Illustrated C# 2008(Page 373) 。次に、これらのエラーの理由。

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

c# - このタイマーをスコープ内に保持しているものは何ですか? 匿名方式?

Ok、

そのため、Silverlight アプリケーションで誰かがアイコンをクリックすると起動するメソッドがあります。以下を参照してください。

メソッド ShowInfo() が会社情報を含むボックスを開き、ディスパッチ タイマーが上記のタイムスパンの後にボックスを自動的に閉じることを意味します。そして、これはすべて機能します...

しかし、わからないのは、ディスパッチ タイマーがローカル変数であるため、Logo_MouseLeftButtonUp メソッドが終了した後、匿名メソッドが起動される前に、ディスパッチ タイマーを参照して GC コレクションに使用できないようにするために何があるのでしょうか?

匿名メソッドの ShowInfo() メソッドへの参照ですか?

イベントなどを使用して想像できるように、このようなものでリークを作成するのは非常に簡単です。

これがすべて理にかなっていることを願っています!

アンディ。

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

c# - Object[] パラメータ内のデリゲートを使用した MethodInfo.Invoke

少し例を挙げてみましょう。

次のように使用できます。

しかし、実行する必要がある場合は、 MethodInfo.Invoke を介して実行する必要があります-異なる dll のように、どちらの方法でも型の依存関係はありません。お気に入り:

どのようなトリック/キャストが適用されても、それが本物のデリゲートとして Execute に到達するようにする必要があります。実際のデリゲートは、より複雑な署名などを持っている場合があります。

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

asp.net - VB 匿名メソッドを機能させようとしています。リストのクエリ

http://www.paulstovell.com/vb-anonymous-methodsの指示に従ってコードを機能させようとしています

これまでのところ、ラッパーがあります:

次に、部門ID変数を使用するように変更した関数があります(did)

次に、コードからそれを呼び出そうとします:

その後、DidMatch でエラーが発生します... エラー メソッド 'Public Function DidMatch(item As DeptMenuData, did As Integer) As Boolean' には、デリゲート 'Delegate Function PredicateWrapperDelegate(Of Integer, Integer)(item As Integer) と互換性のある署名がありません、引数は整数として) ブール値として'.

私が間違っていることがわかりますか?

ありがとう。

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

c# - チェーンされた非同期/イベント呼び出しに役立つ設計パターンはありますか?

現在、Silverlight 内に、以下のコードのような呼び出しを行う多くの Web サービス呼び出しを統合する必要があります。3 つすべての読み込みが完了するまで、ユーザーの操作はできません。

基本的に呼び出しを同期させたいのですが、Silverlight の Web サービス プロキシ クラスのアーキテクチャ (すべてがイベント ドリブン) のため、これを行うことはできません。

私の質問は、1 つのデリゲート メソッドから別のメソッドを呼び出して別のメソッドを呼び出し、管理しやすいものにリファクタリングするための、より洗練されたソリューション、または .NET 中心のデザイン パターンがあるのでしょうか?

コードに関する私の最大の問題の 1 つは、実際のメソッド呼び出しがデリゲートでの大部分の作業の後に来ることです。

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

c# - C#、依存関係プロパティの変更と更新の両方を処理する単純化されたコード

明らかに、私は C# の専門家ではありません。匿名ハンドラー、またはおそらくラムダを使用して、このコードを簡素化したいのですが、わかりません。ValueHasChangedPropertyChangedCallbackdp が変更されたときに使用され、新しいオブジェクトの更新が監視されるようにするため、変更と更新の両方が同じコードを使用して処理されます: ProcessNewValue. ここで残念なのはValueHasBeenUpdated、同じメソッドを呼び出すためだけに 2 番目のハンドラーを作成することです。の定義を削除する可能性はありValueHasBeenUpdatedますか? ありがとう。

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

c# - そのような匿名メソッドを使用できないのはなぜですか?

なぜ私はこれを持てないのですか?つまり、デリゲート宣言を惜しまないということです。

私はそれがこのようにできることを知っています:

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

c# - 匿名メソッドは良いことすぎますか? (C#)

ご挨拶、

私は多くの匿名メソッドを使用するコード ベースで作業しています。匿名メソッドは、最初の呼び出しと同じものを呼び出す他の匿名メソッドを連鎖させています。

それが基本的な内訳です​​。単純化しすぎて申し訳ありません。

私の懸念は、匿名メソッドの 1 つがそのような呼び出しを連鎖させる問題を引き起こしていることです。IMOスタックオーバーフロー例外を引き起こすのは、単なる悪い再帰のようです。

事前にご協力いただきありがとうございます。

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

delphi - Delphi 2009 でジェネリックと匿名メソッドを使用すると、どのような問題がありますか?

ジェネリックと匿名メソッドの使用を開始したいと思います。主に、それが何であるか、なぜそれらを使用したいのかを学びます。

Delphi 2009 を持っているので、ジェネリックと匿名メソッドが完全に実装されていない、またはバグがあるとよく読んでいますが、これは Delphi 2010 で修正されました。

何かが期待どおりに動作しないたびに、それが私のせいなのか、Delphi 2009 のバグなのかと考える必要は避けたいと思います。

私の質問は次
のとおりです。Delphi 2009 でジェネリックと匿名メソッドを使用するときに発生する問題は何ですか?
何を避けるべきですか?

0 投票する
5 に答える
271 参照

c# - 奇妙なアイデア:C#-別のメソッドを含まないメソッドを宣言する

さて、Pythonではこれを行うことができます:

(これは単なるばかげた例です)c#の別のメソッド内でメソッドを宣言するこの機能を見逃すことがあります。しかし、今日、私はこれを達成するために次のアイデアを思いつきました。

明らかに、回避策は、FuncまたはAction Delegatesが4つのパラメーターに制限されているため、元の機能とまったく同じ機能を提供しませんが、4つを超えるパラメーターが必要になることはめったにありません...

これについてどう思いますか?
これは悪であり、非常に特別な状況を除いてすべて避ける必要がありますか?
これのパフォーマンスはどうですか?関数が呼び出されるたびに新しいbar関数が作成されますか、それともコンパイラーはこれを何らかの方法で最適化しますか?