2010.4.9 委托和事件学习
2010-04-09 13:21
239 查看
在定义方法的时候,我们一般将基本数据类型做为方法的参数,也可以把类做为方法的参数来传递,而委托则是将整个方法做为参数来传递。类似于c语言的指针,它定义了方法的类型,使得方法可以当做另一个方法的参数来使用。下面是我学习他的步骤:
1.定义一个委托(deletegate关键字)
public delegate void Login(string name, string password);
2.定义这个委托要调用的方法(委托的实质就是把方法作为参数)
public void UserLogin(string name, string password)
{
//实现
Console.WriteLine("HelloWord");
}
public void AdminLogin(string name, string password)
{
//实现
}
3.实例化委托
Login login;//申明委托
Program pro=new Program();
login = new Login(pro.UserLogin);//实例化委托
4。调用委托:
这个其实在 实例化的时候就调用了它:
login ("user","123")
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
namespace Person
{
/// <summary>
/// 定义委托(实在命名空间下定义的)
/// </summary>
/// <param name="name"></param>
/// <param name="password"></param>
public delegate void Login(string name, string password);
class Presons
{
/// <summary>
/// 定义委托要掉用的方法
/// 参数与定义委托的相同
/// </summary>
/// <param name="name">name</param>
/// <param name="password">password</param>
public void UserLogin(string name, string password)
{
Console.WriteLine("UserLogin....{0}:{1}",name,password);
}
public void AdminLogin(string name, string password)
{
Console.WriteLine("AdminLogin...{0}::{1}",name,password);
}
}
class DelegateProgram
{
static void Main()
{
//申明委托(委托名 标识符)
Login1 login;
Presons pd = new Presons();
//实例化委托
login = new Login1(pd.UserLogin);
//调用委托
login("小刚","123");
login = new Login1(pd.AdminLogin);
login("小城","253");
}
}
}
1.定义一个委托(deletegate关键字)
public delegate void Login(string name, string password);
2.定义这个委托要调用的方法(委托的实质就是把方法作为参数)
public void UserLogin(string name, string password)
{
//实现
Console.WriteLine("HelloWord");
}
public void AdminLogin(string name, string password)
{
//实现
}
3.实例化委托
Login login;//申明委托
Program pro=new Program();
login = new Login(pro.UserLogin);//实例化委托
4。调用委托:
这个其实在 实例化的时候就调用了它:
login ("user","123")
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
using System;
using System.Collections.Generic;
using System.Text;
namespace Person
{
/// <summary>
/// 定义委托(实在命名空间下定义的)
/// </summary>
/// <param name="name"></param>
/// <param name="password"></param>
public delegate void Login(string name, string password);
class Presons
{
/// <summary>
/// 定义委托要掉用的方法
/// 参数与定义委托的相同
/// </summary>
/// <param name="name">name</param>
/// <param name="password">password</param>
public void UserLogin(string name, string password)
{
Console.WriteLine("UserLogin....{0}:{1}",name,password);
}
public void AdminLogin(string name, string password)
{
Console.WriteLine("AdminLogin...{0}::{1}",name,password);
}
}
class DelegateProgram
{
static void Main()
{
//申明委托(委托名 标识符)
Login1 login;
Presons pd = new Presons();
//实例化委托
login = new Login1(pd.UserLogin);
//调用委托
login("小刚","123");
login = new Login1(pd.AdminLogin);
login("小城","253");
}
}
}
相关文章推荐
- 黑马程序员——委托、事件学习笔记
- jquery学习随笔(模拟行为、事件委托)
- C#学习笔记 委托和事件
- 学习总结--委托和事件
- C# 中的委托和事件学习总结
- 《csharp高级编程》 学习笔记 第七章 委托和事件
- 委托与事件的学习
- 设计模式学习笔记二:面向对象基础六之委托与事件
- 委托和事件学习总结
- 委托,Lambda,事件学习
- 委托与事件学习笔记1---什么是委托?
- C#委托与事件的学习
- 精通C#学习笔记之事件(一)使用委托的弊端
- C#中的委托和事件学习(续)
- 委托、匿名方法、事件学习小结
- 学习笔记---再次理解事件和委托
- .net学习之委托和事件
- 黑马程序员_学习日记43_609基础加强(多播委托、事件、程序集、反射)
- 事件和委托学习笔记(2007.12.20)
- [学习笔记]c#中的委托、事件、Func、Predicate、Observer设计模式以及其他