好吧,伙计们,请不要因为我问这个问题而对我失望。
// 使用 System.Threading;
private void startThread()
{
Thread t = new Thread(ParameterizedThreadStart(setOutputBinaryWorker));
t.Start();
}
由于 setOutputBinaryWorker 是一个实际的现有方法,因此这可以正常工作。但是,我正在寻找一种将函数名称作为变量传递给 startThread 函数的方法。
由于我有限的 C# 经验,我怀疑这是可能的,但似乎无法弄清楚如何。我可以想象它应该是这样的:
// using System.Threading;
private void startThread(??datatype?? func)
{
Thread t = new Thread(ParameterizedThreadStart(func));
t.Start();
}
但我无法弄清楚数据类型应该是什么(使用问号)。现在,在调试时,传递的函数名称弹出为
System.Object 无效,setOutputBinaryWorker
这并没有给我太多的继续。这些可以创建吗?尝试将参数转换为 (object) 不起作用。
这背后的主要思想是尝试使用安全的 gui 线程以正确的方式写入 ui 元素。现在,我已经完成了那部分,使用委托方法,这一切都很好。但是当切换到当前方法(使方法名称可变)时,我完全迷失了。如果有人知道替代方案、更好的解决方案,或者至少是可行的解决方案,我愿意接受建议,很重要。
提前感谢您的努力。