大袋鼠的天空
时间飞逝

泛型:
     泛型概述:泛型可应用于类、方法、结构、接口、委托等设计中,兼复用性、类型安全和高效率于一身是与之对就的非泛型所不及的
     应用泛型,必须使用类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);}
                    }
         
              
               }

posted on 2007-06-21 21:04  大袋鼠  阅读(338)  评论(0编辑  收藏  举报