不用委托思想的例子 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace detegateClass2
{
class Student
{
private int score;
private ResponseScore responseScore;
/// <summary>
/// 这里是用接口设置的方法来使具体业务调用抽象对象
/// </summary>
/// <param name="people"></param>
public void setResponseScore(ResponseScore people)
{
responseScore = people;
}
public void setSocre(int value)
{
score = value;
if (score < 0 || score > 100)
{
Console.WriteLine("分数不正确");
}
else
{
//学生究竟受到谁的答复呢?这个方法已经是业务类的了,它不需要知道具体的东西,但由于这个例子,我们不采用委托的思想,所以,这里我们采用接口
//string result = 接口.方法(参数) ;
string result = responseScore.response(score);
Console.WriteLine("学生收到的回复是: "+ result); //学生收到的回复!
}
}
}
/// <summary>
/// 这里是一个业务类型的接口
/// </summary>
interface ResponseScore
{
string response(int score); //一个负责回复的方法
}
class Teacher : ResponseScore
{
public string response(int score)
{
if (score > 60)
{
return "不错 ! " + score + " 是一个好分数";
}
else
{
return "继续加油! 能考到" + score + "分,已经不错的了";
}
}
}
/// <summary>
/// 在这个例子中我们模拟一个学生考试后,收到不同人物对他的评价,可以是老师,同学,家长,甚至警察,这里我们先不采用委托的放,我们先模拟一个接口
/// </summary>
class Program
{
static void Main(string[] args)
{
Student s = new Student();
ResponseScore t = new Teacher();
s.setResponseScore(t);
s.setSocre(80);
}
}
}
分享到:
相关推荐
本文将深入探讨C#委托的概念、用途、类型以及如何使用`DynamicInvoke`方法。 ### 1. 委托的基本概念 委托是C#中的一个类,它封装了指向方法的引用。换句话说,委托就像一个指针,但它指向的是方法而不是内存地址。...
本文将深入探讨C#委托的概念、用法及其在实际开发中的应用。 一、什么是委托 委托在C#中是一种类型,类似于指针,但更加安全和灵活。它封装了一个或多个方法的引用,可以看作是“方法的句柄”。委托类型由系统定义...
在C#编程语言中,委托和事件是两个关键的概念,它们是实现面向对象设计模式,尤其是事件驱动编程的核心。下面将详细阐述这两个概念及其在实际编程中的应用。 **委托** 委托在C#中相当于一种类型,它封装了指向方法...
在 C# 中,委托可以是泛型的,例如:delegate TResult ProcessDelegate, T2>(T1 arg1, T2 arg2); 这个委托定义表示,它可以指向任何返回类型为 TResult,并且有两个参数 T1 和 T2 的方法。 委托的使用可以分为两步...
例如,`C#委托详解.pdf` 可能详细解释了委托的基本概念、用法以及如何结合匿名委托实现某些功能。而`委托与匿名委托.zip`可能包含了一些示例项目,你可以运行并查看其工作原理。 总的来说,掌握C#中的委托和匿名...
在C#中,委托是一种类型安全的函数指针,它可以引用一个或多个具有相同签名的方法。简单来说,它允许你将方法作为参数传递,或者作为一个新的方法来调用。委托的概念在事件驱动编程中尤为重要,因为它使你能够定义...
在C#编程语言中,委托和事件是两个非常重要的概念,它们构成了事件驱动编程的基础。...在实际项目中,结合文档《C#委托与事件.doc》的详细分析,初学者将更好地掌握这些概念,并能够在实践中得心应手。
C#委托的概念类似于其他语言中的函数指针,但它更安全、类型安全,并且支持多播,即一个委托可以同时引用多个方法。 首先,我们来深入理解什么是委托。委托在C#中是一种引用类型,它定义了一种方法签名,这个签名...
2. **委托与System.Delegate**: 委托是从`System.Delegate`类派生的,但不能直接从`System.Delegate`派生新的委托类型。C#提供了一种特殊的语法来声明和使用委托,使其成为一种易于使用的抽象类型。 3. **静态与...
在C#编程语言中,委托是一种强大的特性,它允许我们传递方法作为参数或者将方法存储在变量中。这个“C# 委托简单实例”是理解委托概念的基础教程,特别适合初学者入门。该实例的核心是通过委托来实现温度监控,包括...
本示例代码将深入探讨C#委托的使用及其重要性。 首先,理解委托的基本概念是至关重要的。在C#中,委托是一种类型,它封装了指向静态或实例方法的指针。这使得我们可以将方法当作其他方法的参数,或者存储在类的字段...
在C#编程中,委托、线程和事件是三个核心概念,它们对于构建高效、响应式的多任务应用程序至关重要。下面将详细阐述这三个概念及其相互之间的关系,并通过一个实例代码进行说明。 1. 委托(Delegate): 委托在C#中...
在C#编程语言中,委托(Delegate)是一种强大的特性,它允许我们把方法作为参数传递,或者存储在变量中...在`DelegateDemo`这个示例项目中,你可能会看到如何在实际代码中应用这些概念,从而加深对C#委托和事件的理解。
C#委托技术有很多作用,以下是一个简单的实例完成C#委托解决不同对象之间的传值或者方法调用的问题: 假设想想实现以下功能: 从主窗体中创建2个子窗体,想把2个子窗体的信息发送到主窗体中,并在主窗体中显示,在子...
C#委托类型简单使用
接下来,我们将基于提供的代码片段深入分析C#委托的另一种实现方式,并讨论其实现原理及其应用场景。 ### 委托的基本概念 委托在C#中是一种引用类型的数据结构,它定义了方法的类型,使得可以将方法当作另一个方法...
C# 多线程利用委托更新控件内容 在 C# 编程中,多线程编程是常见的场景之一,特别是在需要实时更新控件内容的情况下。为了解决多线程之间的数据更新问题,本文将介绍如何使用委托(delegate)来更新控件的内容。 ...
### C#中的委托和事件 #### 一、委托的基础概念 在C#中,委托是一种引用类型的数据结构,它允许将方法当作参数进行传递。简而言之,委托就是指向一个方法的引用。委托的主要用途是作为事件处理程序的类型。 **...