C#でも匿名メソッドを使って非同期通信(拡張メソッド編)
ネタ元:Silverlightでも匿名メソッドを使って非同期通信 - present
カッとなってやった。今では反省している。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Threading; namespace ConsoleApplication1 { public static class WebHelper { public static void Get(this string url, Action<string> callback) { WebRequest request = WebRequest.Create(url); request.Method = "GET"; request.BeginGetResponse(result => { WebResponse response = request.EndGetResponse(result); using (var stream = new StreamReader(response.GetResponseStream())) { if (callback != null) { callback(stream.ReadToEnd()); } } }, request); } } class Program { static void Main(string[] args) { "http://d.hatena.ne.jp/masaru_b_cl/".Get(result => Console.WriteLine(result)); Thread.Sleep(1000); } } }