`

委托(Delegate)

    博客分类:
  • .net
阅读更多
在讲委托之前,我们先来回顾一下大家都很熟悉的"类".
类的定义:类是对某一类实体的抽象描述和概念定义.
类的使用:
        (1)类的定义:主要定义类的字段和类的方法
              
class Teacher
             {
                  private int id;
                  public int ID
                  {
                     get{return id;}
                     set{id = value;}
                  }  

                  public void prelect()
                  {
                     //讲课
                  }
             }
                   
        (2)类的实例化:创建类的一个对象
             
 
             Teacher t = new Teacher();
             t.prelect();

这些大家都很熟悉了,那么委托和类有什么关系呢?

委托是一种特殊的类.
委托的定义:委托是某一类方法的抽象描述和概念定义.
委托的使用:
          (1)委托的定义
            
public delegate void DeLawer();

          DeLawer委托指定了该委托的每个实例都包含一个方法的细节,即该方法不带参数,并且没有返回值.
          (2)委托的实例化
               (2.1)委托的构造函数带一个参数
               (2.2)这个参数就是委托所引用的方法
              
Teacher t = new Teacher();
             DeLawer delawer = new DeLawer(t.prelect);
提示:理解委托的一种好方式是把委托当作给方法的特征指定一个名称.

委托的概念很多:
其他概念:委托是一个通用的方法名,该名称可以在不同的时刻指向不同的方法.
委托能够指向的方法:任何类型对象的静态方法或者实例方法.
例:
    struct Student
    {
        public static void study()
        {
            //学习
        }
    }
 
    DeLawer delawer = new DeLawer(Student.study);
1
0
分享到:
评论

相关推荐

    VB.Net-C#多线程Thread-代理委托delegate编程

    最近收集的VB.Net-C#多线程Thread-代理委托delegate编程。文章列表: c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问....

    .Net C#委托 delegate

    .NET中的C#委托(Delegate)是面向对象编程中一种强大的特性,它允许我们将方法作为参数进行传递,从而实现回调机制和事件处理。在C#中,委托类是系统内置的,它代表了一种方法签名,使得我们可以引用符合该签名的...

    委托delegate invoke的简单源代码,适合委托初学者!

    本文将深入探讨委托的使用,特别是`Delegate`的`Invoke`方法,以及如何在实际编程中应用这些概念。 首先,让我们了解什么是委托。在C#中,委托是一种引用类型,它定义了一种方法签名,也就是说,它规定了可以关联到...

    QT中QTableView加载自定义Modle和自定义委托Delegate

    QT自定义模型Modle的实现实例和自定义委托Delegate的实现实例以及在QTableView中加载使用的实现

    .Net的异步机制(委托Delegate)

    在这个机制中,委托(Delegate)扮演了关键角色,它充当了方法的引用,使得可以在不同的线程上调用这些方法。 在C#中,委托是一种类型安全的事件处理机制,它可以被看作是指向方法的指针。在异步编程中,委托允许...

    c#中关于委托delegate的经典的实例

    在C#编程语言中,委托(Delegate)是一个强大的特性,它允许我们将方法作为参数传递给其他方法,或者存储和调用方法的集合。这个特性在事件处理、回调函数以及实现函数式编程风格时非常有用。在本文中,我们将深入...

    02.C# 知识回顾 - 委托 delegate续.pdf

    C#中的委托(delegate)是一种引用类型,用于封装对具有特定参数列表和返回类型的方法的引用。委托是多态的,这意味着可以引用多种类型的方法,只要这些方法与委托定义的签名相匹配。通过委托,我们可以在运行时动态...

    delegate委托

    从序言中,大家应该对委托和事件的重要性有点了解了吧,虽然说我们现在还是能模糊,但是从我的大白话系列中,我会把这些概念说的通俗易懂的。首先,我们还是先说说委托吧,从字面上理解,只要是中国人应该都知道这个...

    01.C# 知识回顾 - 委托 delegate.pdf

    在C#中,委托的关键字是delegate,它继承自Delegate类,是一个密封类,不允许派生新的类。因此,委托类型是一种终极派生类型,所有的委托类型都派生自.NET框架中的Delegate基类。在委托中使用Lambda表达式能够以非常...

    解析.Net 4.0 中委托delegate的使用详解

    但是.Net毕竟是更高级的语言,委托Delegate也更高级了,委托是一种数据接口,它包含调用目标和调用方法的指针;而在.Net中定义的委托都继承自MulticastDelegate即多播委托,所谓的多播委托是指可以包含多个调用方法...

    多线程,Delegate 委托带参数的方法

    本文将深入探讨“多线程”、“Delegate委托”以及“带参数的方法”,并结合“Win简单委托”示例来阐述它们如何协同工作。 ### 多线程 多线程是指在一个应用程序中同时执行多个任务。在Windows环境中,每个线程都有...

    C#中的委托delegate用法的示例详解

    【C#中的委托delegate用法的示例详解】 在C#编程语言中,委托是类型安全的函数指针,允许我们将方法作为参数传递给其他方法,或者存储在类的字段中,以便稍后调用。这种特性使得委托成为C#中实现事件处理和回调机制...

    C#使用委托(delegate)实现在两个form之间传递数据的方法

    在C#编程中,委托(Delegate)是一种类型安全的函数指针,允许我们将方法作为参数传递给其他方法,或者存储在变量中以便稍后调用。这种机制在处理事件处理和跨对象通信时非常有用,特别是在需要在多个Form之间传递...

    C#委托delegate实例解析

    C#中的委托(Delegate)是一种类型安全的函数指针,它允许我们将方法作为参数传递给其他方法,或者存储和调用方法。这是C#中事件处理、回调机制和LINQ等高级特性的重要基础。 首先,我们需要理解委托的基本概念。在...

    C++中实现委托(delegate)

    网上有很多关于C++ delegate机制的文章,但都讲的是函数指针的内容,上周就C++中实现C#的delegate机制的问题研究了好几天,查看了很多相关资料,才解决了问题,现将我写的C++ delegate测试程序贴出来,希望能帮到有...

    C++下实现委托的代码

    在C++编程中,"委托"(Delegate)的概念源自于其他一些编程语言,如C#或Java,但在C++标准库中并没有内置的委托机制。然而,通过一些编程技巧,我们可以模拟实现类似的功能。委托通常用于传递函数或者方法作为参数,...

    ios delegate传值

    标题提到的"ios delegate传值"就是一种常用的数据传递机制,它基于Objective-C或Swift的委托(Delegate)设计模式。本文将深入探讨如何利用Delegate来实现在不同界面间传递数据。 一、委托(Delegate)设计模式 ...

Global site tag (gtag.js) - Google Analytics