首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请教以上代码可有精简方案

2012-12-15 
请问以下代码可有精简方案?C# codevoid crawler_OnCrawlerThreadEnd(object sender, Nipusa.Crawler.Event

请问以下代码可有精简方案?

C# code
void crawler_OnCrawlerThreadEnd(object sender, Nipusa.Crawler.EventArguments.CrawlerThreadEndEventArgs args)        {            //throw new NotImplementedException();        }        void crawler_OnError(object sender, Nipusa.Crawler.EventArguments.CrawlerErrorEventArgs args)        {            //throw new NotImplementedException();        }        void crawler_OnFindNewUri(object sender, Nipusa.Crawler.EventArguments.CrawlerFindNewUriEventArgs args)        {           // throw new NotImplementedException();        }        void crawler_OnUriFetchComplete(object sender, Nipusa.Crawler.EventArguments.CrawlerUriFetchCompleteEventArgs args)        {            if (plugins_list.ContainsKey(args.CrawlerObject.CrawlerName))            {                List<PluginBase> plugins = plugins_list[args.CrawlerObject.CrawlerName];                foreach (PluginBase pb in plugins)                {                    pb.OnUriFetchComplete(sender, args);                }            }        }        void crawler_OnUriBeginRequest(object sender, Nipusa.Crawler.EventArguments.CrawlerUriBeginRequestEventArgs args)        {            ThreadMessage((sender as Nipusa.Crawler.NipusaCrawler).CrawlerName, args.ThreadName+":"+args.RequestUri.ToString());            if (plugins_list.ContainsKey(args.CrawlerObject.CrawlerName))            {                List<PluginBase> plugins = plugins_list[args.CrawlerObject.CrawlerName];                foreach (PluginBase pb in plugins)                {                    pb.OnUriBeginRequest(sender, args);                }            }        }

如上所示,大意是循环调用所有注册的插件的方法。但这样一来。每个事件方法里都要有个foreach。很臃肿。或者有没有办法直接把类中的方法注册为事件的方法?

但貌似event+=new delegate(class.method);通不过?

热点排行