我在一个新类中有这个代码:
Object[] temp_arr = new Object[5];
temp_arr[0] = csFiles;
temp_arr[1] = mainUrl;
temp_arr[2] = levels;
temp_arr[3] = currentCrawlingSite;
temp_arr[4] = sitesToCrawl;
变量 csFiles 和 currentCrawlingSite 都是 List<string>。
然后在底部我做了:
public class WebCrawlerProgressEventHandler : EventArgs
{
public List<string> csFiles { get; set; }
public string mainUrl { get; set; }
public int levels { get; set; }
public List<string> currentCrawlingSite { get; set; }
}
protected void OnProgressEvent( Object[] some_params)
{
if (ProgressEvent != null)
ProgressEvent(this,
new WebCrawlerProgressEventHandler()
{
csFiles = some_params[0],
mainUrl = some_params[1],
levels = some_params[2],
currentCrawlingSite = some_params[3]
});
}
现在我在新WebCrawlerProgressEventHandler()
的所有行上都收到错误,每行都有相同的错误:
错误 2 无法将类型“object”隐式转换为“System.Collections.Generic.List”。存在显式转换(您是否缺少演员表?)
但是,如果我删除 line:public List<string> currentCrawlingSite { get; set; }
和 line:currentCrawlingSite = some_params[3]
就没有错误。
我不明白。csFiles
并且currentCrawlingSite
都是List<string>
类型变量。为什么,当我添加 时currentCrawlingSite
,我会收到错误消息?