使用 ParameterizedThreadStart 几乎可以工作,但它需要对象作为参数,这感觉非常错误。是否可以通过 ParameterizedThreadStart 传递字符串?
public void OpenUDirectory(String Directory)
{
Items.Clear();
foreach (FileInfo FI in new DirectoryInfo(Directory).GetFiles())
{
Items.Add(FI.Name);
}
}
我想出了将扩展构造函数添加到 ParameterizedThreadStart 的想法,以便我可以将 String 转换为 Object 并调用基本方法,但有没有更简洁的方法?
我确定我需要调用 Invoke 方法,所以我有一个委托(delegate):
public delegate void OpenDD(String Directory);
最佳答案
您必须将框设置为 object
当你启动线程时。然后将其转换回 string
并调用你的方法。
这就是它的工作方式,因为它提供了最大范围的灵 active 。
关于c# - 使用字符串类型的参数进行线程化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225170/