我编写了一些示例代码,其中我在方法主体中声明了一个 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(); }