蓝鸥Unity开发基础二——课时26 委托
2016-09-08 10:22
369 查看
蓝鸥Unity开发基础二——课时26 委托一、委托
委托是一种特殊的类型,用于引用方法
定义委托需要用delegate关键词
委托可以把方法当做参数来传递
委托可以使用+-运算符合并,解绑委托
推荐视频讲师博客:http://11165165.blog.51cto.com/
using System;
namespace Lesson_26
{
//定义委托——访问修饰符delegate,返回值类型 委托名(参数列表);
public delegate void Something (string name);
public class Student{
//可以像普通类型一样当做方法参数传递
public void Do(Something something){
//真正调用了方法A——方法回调
something (name);
}
//可以
public Student(string name){
//可以像普通方法一样调用
this.name=name;
}
private string name;
}
public class Teacher{
public void Hungry(){
Student s = new Student ("老王");
//创建委托变量
Something a = new Something (A);
Something b = new Something (B);
Something c = b+a ;
c = c - a;
s.Do (c);
}
public void A(string name){
Console.WriteLine ("Hello,"+name);
}
public void B(string name){
Console.WriteLine (name+"跑十圈");
}
}
class MainClass
{
public static void Main (string[] args)
{
Teacher t = new Teacher ();
t.Hungry ();
}
}
}
委托是一种特殊的类型,用于引用方法
定义委托需要用delegate关键词
委托可以把方法当做参数来传递
委托可以使用+-运算符合并,解绑委托
推荐视频讲师博客:http://11165165.blog.51cto.com/
using System;
namespace Lesson_26
{
//定义委托——访问修饰符delegate,返回值类型 委托名(参数列表);
public delegate void Something (string name);
public class Student{
//可以像普通类型一样当做方法参数传递
public void Do(Something something){
//真正调用了方法A——方法回调
something (name);
}
//可以
public Student(string name){
//可以像普通方法一样调用
this.name=name;
}
private string name;
}
public class Teacher{
public void Hungry(){
Student s = new Student ("老王");
//创建委托变量
Something a = new Something (A);
Something b = new Something (B);
Something c = b+a ;
c = c - a;
s.Do (c);
}
public void A(string name){
Console.WriteLine ("Hello,"+name);
}
public void B(string name){
Console.WriteLine (name+"跑十圈");
}
}
class MainClass
{
public static void Main (string[] args)
{
Teacher t = new Teacher ();
t.Hungry ();
}
}
}
相关文章推荐
- 蓝鸥Unity开发基础二——课时22 ArrayList
- 【蓝鸥Unity开发基础三】课时1 下载并安装unity
- 【蓝鸥Unity开发基础三】课时6 脚本生命周期
- 【蓝鸥Unity开发基础三】课时5 Unity组件开发
- 蓝鸥Unity开发基础二——课时9 方法参数
- 蓝鸥Unity开发基础二——课时23 List
- 蓝鸥Unity开发基础二——课时4 类和对象
- 蓝鸥Unity开发基础二——课时7 属性
- 蓝鸥Unity开发基础二——课时6 方法
- 蓝鸥Unity开发基础二——课时12 递归
- 蓝鸥Unity开发基础二——课时15 封装和继承
- 蓝鸥Unity开发基础二——课时14 面向对象
- 【蓝鸥Unity开发基础三】课时3 Terrain地形系统【未完】
- 蓝鸥Unity开发基础二——课时8 值类型和引用类型
- 蓝鸥Unity开发教程之课时4 3D开发基础
- 蓝鸥Unity开发基础二——课时27 事件
- 【蓝鸥Unity开发基础三】课时2 游戏对象和基本操作
- 蓝鸥Unity开发基础二——课时1 枚举类型
- 蓝鸥Unity开发基础二——课时10 字符串
- 【蓝鸥Unity开发基础三】课时9 Vector3