C#でも匿名メソッドを使って非同期通信(Uriクラスの拡張メソッド編)
C#でも匿名メソッドを使って非同期通信(拡張メソッド編) - まさるDiaryの続き
さすがにあんまりだったので、Uriクラスを拡張するようにしてみた。
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 Uri 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) { new Uri("http://blogs.wankuma.com/masaru/").Get(result => Console.WriteLine(result)); Thread.Sleep(1000); } } }