我编写了一些示例代码,其中我在方法主体中声明了一个 Action 委托,其中传递了两个参数,然后由委托代码使用,而这些参数没有传递到 delagte。对我来说,将这些参数也明确地传递给代表似乎更干净,但在这种情况下我不是,这段代码可以正常工作。
我想知道.NET 如何使这些引用在现在在新线程上运行的导出委托中保持可用。
public void MyMethod(字符串名称,ComplexObject myObj)
{
动作导出 = () => {
//用名字做一些事情
姓名=姓名+姓名;
//对复杂的引用对象做一些事情
myObj.SomeMethod(name);
};
// 做更多的工作
// 示例在新线程上启动导出
System.Threading.Thread newThread = new System.Threading.Thread(new System.Threading.ThreadStart(export));
newThread.Start();
}