C# 2.0 匿名方法与 Windows Forms 异步调用

window|异步

C# 2.0 匿名方法大大简化了 Windows Forms 异步调用的实现,我们再也不用手工定义异步委托或者包装类了。例如,在下面的代码示例中,Form1 有一个按钮控件和一个列表控件,在按钮控件的单击事件里,我们新建一个线程,在这个线程中向列表控件添加 10 个项目:

public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Button button1;

...

private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(this.ThreadProc);
thread.Start();
}

private void ThreadProc()
{
for (int i = 0; i < 10; i++)
{
this.Invoke((MethodInvoker)delegate
{
this.listBox1.Items.Add("Item " + (i + 1).ToString());
});
}
}
}

时间: 2024-10-30 00:14:38

C# 2.0 匿名方法与 Windows Forms 异步调用的相关文章

windows phone异步调用api

问题描述 windows phone异步调用api 直接上代码 private void chaxunbutton1_Click(object sender, RoutedEventArgs e) { string s =textBox1.Text; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://300report.jumpw.com/api/getrole?name=" + HttpUti

Visual C# 2.0匿名方法揭密

visual 匿名方法基础 匿名方法是C#2.0的一个新的语言特性.本文的主要内容是提供给读者关于匿名方法的内部实现和工作方式的一个更好的理解.本文无意于成为匿名方法的完全语言特性参考. 匿名方法允许我们定义委托对象可以接受的代码块.这个功能省去我们创建委托时想要传递给一个委托的小型代码块的一个额外的步骤.它也消除了类代码中小型方法的混乱.让我们看看:比方说,我们有一个字符串集合命名为MyCollection.这个类有一个方法:获得集合中满足用户提供的过滤准则的所有项,调用者决定在集合中的一个特

C#2.0语言规范(三)匿名方法

规范 第三章 匿名方法原著:Microsoft Corporation原文:http://msdn.microsoft.com/vcsharp/team/language/default.aspx (SpecificationVer2.doc)翻译:lover_P出处: -------------------------------------------------------------------------------- [内容] 3.1 匿名方法表达式 3.2 匿名方法签名 3.3 匿

了解c#2.0中的Anonymous Methods(匿名方法)

  Anonymous Methods 是 C#2.0的新特性之一,它允许我们在代码中创建一个内置的没有方法名的方法,将代码与委托实例相关联,从而使委托的实例化工作更加直观和方便,提高了代码的可读性和可维护性.下面来看一个简单的匿名方法的使用: private int[] _integers =      { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int[] evenIntegers = Array.FindAll(_integers,                 

C# 2.0 Specification(匿名方法)(一)

21匿名方法21.1.匿名方法表达式匿名方法表达式(anonymous-method-expression)定义了匿名方法(anonymous method),它将计算为引用该方法的一个具体值. l primary-no-array-creation-expression(基本非数组创建表达式:)-anonymous-method-expression(匿名方法表达式) l anonymous-method-expression:delegate anonymous-method-signatu

C# 2.0 Specification(匿名方法)(二)

21.7委托实例相等性如下规则适用由匿名方法委托实例的相等运算符(§7.9.8)和object.Equals方法产生的结果. l 当委托实例是由具有相同被捕获外部变量集合的语义相同的匿名方法表达式计算而产生时,可以说(但不是必须)它们相等. l 当委托实例由具有语义不同的匿名方法表达式,或具有不同的被捕获外部变量集合时,它们决不相等. 21.8明确赋值匿名方法参数的明确赋值状态与命名方法是相同的.也就是,引用参数和值参数被明确的赋初值,而输出参数不用赋初值.并且,输出参数在匿名方法正常返回之前必

C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码

程序|创建 本文基于 Microsoft Visual Studio 2005 的预发布版本,它以前的代码名称为"Whidbey".此处所包含的任何信息都可能会改变. 本文讨论: • 遍历集合 • 跨文件类定义 • 与委托一起使用的匿名方法 • Visual Studio 2005 中的其他 C# 新功能 本文使用下列技术: • C# 和 Visual Studio 可以在此下载代码: • C20.exe (164KB) 本页内容 迭代程序 迭代程序实现 递归迭代 局部类型 匿名方法

对C# 2.0中匿名方法的怀疑分析

一.简介 所有的方法都使用一个来自于相同集合的元素的子集.在C# 2.0中,可选元 素集将会继续增长.从历史上看-除了C++内联方法之外-方法都要求有一个名字 .一个返回类型和一个方法体.而且可选择地,方法可以使用存取修饰符和一个 参数列表.在C# 2.0中,方法名已经从必需的变成了可选的. C# 2.0(一般就代表.NET)引入了匿名方法.一个匿名方法可以被用在任何使 用代理且该代理被定义为内联的情况下,它不需要方法名,而具有可选的参数和 一个方法体. 为了使用匿名方法,你需要了解什么是代理.

方法-ADO.NET classes in .NET 2.0/3.5在windows azure不被支持?

问题描述 ADO.NET classes in .NET 2.0/3.5在windows azure不被支持? ADO.NET classes in .NET 2.0 / 3.5哪个在windows azure不被支持?为保证我的程序在windows azure兼容,对于这些版本需要做哪些处理方法 解决方案 您好, 1.Azure website现在支持的是3.5和4.5,如果您要发布在Azure website上,建议您最好升级下您的版本. 2.如果您要发布在Azure VM上,则这个问题不需