使用ParameterizedThreadStart几乎可以工作,但它需要对象作为参数,这感觉非常错误。是否可以通过ParameterizedThreadStart传递String?
public void OpenUDirectory(String Directory)
{
Items.Clear();
foreach (FileInfo FI in new DirectoryInfo(Directory).GetFiles())
{
Items.Add(FI.Name);
}
}
我提出了向ParameterizedThreadStart添加扩展构造函数的想法,以便我可以将String转换为Object并调用基本方法,但是有更简洁的方法吗?
我确定我需要调用Invoke方法,所以我有一个委托:
public delegate void OpenDD(String Directory);
答案 0 :(得分:3)
启动主题时,您必须将框设为object
。然后将其重新投射到string
并调用您的方法。
这是它的工作方式,因为它提供了最大的灵活性。