タグ

delegateに関するni66lingのブックマーク (4)

  • ジェネリックなメソッドやデリゲートがもたらす新スタイル

    ■List<T>クラスのSortメソッド ジェネリック・デリゲートをパラメータとして持つ別のメソッドの例として、List<T>クラスのSortメソッドを見てみましょう。 Sortメソッドは、コレクション内の要素の並べ替えを行います。List<T>オブジェクトに対して、単にSort()メソッドを呼び出すと、コレクションはいわゆる「アイウエオ順」に並べ替えられます。 このSortメソッドにはいくつかのオーバーライドされたバージョンがあり、ここでは次のバージョンを取り上げます。このSortメソッドのバージョンでは、並べ替えの方法をプログラマーが独自に記述できます。

    ジェネリックなメソッドやデリゲートがもたらす新スタイル
  • .NET FrameworkでいわゆるJavaScriptのsetTimeout()みたいな事をやる方法 - terurouメモ

    たまーにやりたくなるんだけど、その都度やり方を忘れちゃってるので備忘録。 private void SetTimeout(Action fn, int time) { BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += delegate(object sender, DoWorkEventArgs e) { Thread.Sleep(time); }; worker.RunWorkerCompleted += delegate(object sender, RunWorkerCompletedEventArgs e) { fn(); }; worker.RunWorkerAsync(); } System.ComponentModel.BackgroundWorkerとSystem.Threading.Thr

    .NET FrameworkでいわゆるJavaScriptのsetTimeout()みたいな事をやる方法 - terurouメモ
  • MSDN Magazine: スレッド プール - スレッド プールによるスケーラブルなマルチスレッド プログラミング

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 スレッド プールによるスケーラブルなマルチスレッド プログラミング Ron Fosner プログラミングは日ごとに難しさを増していますが、スループットができる限り高くなるようにアプリケーションをチューニングするよう求められる場合は、特に難しくなります。その要因の 1 つが、コンピューターの進化過程におけるここ数年の変化です。コンピューターの処理能力を高めるため、これまではシングル プロセッサの速度を究極まで引き上げようとしていましたが、ここ数年は処理能力が複数のコアに分散されるようになっています。これは良い傾向です。比較的コストをかけずに潜在能力を大きく引き上げることができ、多くの場合、電力消費量も、冷却ニー

    MSDN Magazine: スレッド プール - スレッド プールによるスケーラブルなマルチスレッド プログラミング
  • 連載 One Point .NET -- デリゲート再入門(1/3) - @IT

    .NET Frameworkでは、イベント・ハンドラやコールバックの機能を「デリゲート」を用いて実現する。このため、「デリゲートはイベントを実現するため(だけ)に存在する仕組みである」とか、「デリゲートは関数ポインタと同義である」などの誤解が見られる。デリゲートは確かに理解しづらい機能であり、またオブジェクト指向プログラミングにそぐわない機能でもあるかもしれない。だが、いずれにしろデリゲートはC#やVisual Basic .NET(以下VB.NET)などの言語でサポートされており、これらの言語を使用してアプリケーションを構築する際には押さえておかなければならない重要なポイントである。ここではいま一度、デリゲートを利用したプログラミング方法やデリゲートがもたらす機能についてまとめてみる。 通常のメソッド呼び出し .NET Frameworkにおいては、ある機能を実行するにはメソッドを呼び出

  • 1