首页 > 编程 > .NET > 正文

网络编程经验技巧:ASP.NET2.0泛型和匿名方法

2024-07-10 13:08:18
字体:
来源:转载
供稿:网友

泛型:

泛型概述:泛型可应用于类、方法、结构、接口、委托等设计中,兼复用性、类型安全和高效率于一身是与之对就的非泛型所不及的应用泛型,必须使用类system.collections.generic.stack。该类的声明方式如下:

system.collections.generic.stack (声明代码)

可以把stack类想像成具有如下示意性处理过程:

stack类示意性代码:

public class stack<>
{
t[] item;
int count;
public void push(t item) {}
public t pop(){}
}

可以为泛型设置3种类型参数的约束:派生约束、构造函数约束、引用/值类型约束

匿名方法:

匿名方法的概述:在c#1.x中,使用支持调用方法的委托来实现事件。委托提供运算符和方法来添加或删除目标方法,也可以在整个.net框架中广泛地用于事件、回调、异步调用、多线程等。然而,为了使用一个委托,有时不得不创建一个类或方法,这种做法过于麻烦,且与开发人员的思维习惯不相符。例如,下面的示例实现了从一个包含列表框、文本框和按钮的窗体中获取简单的输入。当按下按钮时,文本框中的文本会被添加到列表框中。在c#1.x中,使用委托来实现事件机制,代码如下所示

使用c#1.x的实现 代码

class inputform:from
{
listbox listbox;
textbox textbox;
button addbutton;
pulic myform()
{
listbox = new listbox();
textbox = new textbox();
addbutton = new button();
}
........
void addclick(object sender,eventargs e)
{
listbox.items.add(textbox.text)
}
}

匿名方法允许将与一个关联的代码(通常指方法实体)“内嵌”到使用委托的地方,这样委托和方法实体都集中在一起

使用匿名方法的实现代码(无参)

class inputform:from
{
listbox listbox;
textbox textbox;
button addbutton;
pulic myform()
{
listbox = new listbox();
textbox = new textbox();
addbutton = new button();
addbutton.click += delegate { listbox.items.add(textbox.text);}
}
}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表