null面向对象程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
面向对象程序设计基于.NET平台委托委托定义委托定义委托也叫代理,就是把事情交付给别人去办,如委托律师代理打官司,委托同学代买火车票等。
C#中如果将一个
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
委托给一个对象,那么这个对象就可以全权代理这个方法的执行。
使用委托首先要定义委托,声明委托能代理什么类型的方法,就像房产中介能代理抵押贷款业务而不能代理打官司一样
定义委托的语法如下: <访问修饰符> delegate 返回类型 委托名();委托的用法委托的用法定义了委托之后,要使用委托首先要实例化委托。
实例化委托就是将其指向某个方法,即调用委托的构造函数,并将相关联的方法作为参数传递。
然后通过调用委托,执行相关方法的代码,实现委托。委托案例说明(数组排序)委托案例说明(数组排序)dotNET_C#_OO_Delegate_ArraySort
1、定义一个类SortArray
其中有数组排序的方法SortArrayMethod
2、Program中定义一个委托SortDelegate(int[] x)
3、声明委托SortDelegate myDelegate;
后实例化委托:myDelegate = new SortDelegate(SortArray.SortArrayMethod);
4、调用委托:myDelegate(arr)委托案例说明(委托的增加减少)委托案例说明(委托的增加减少)dotNET_C#_OO_Delegate_MultiDelegate
1、定义一个类NumberOperation,
其中有数操作的方法Square、SquareRoot
2、Program中定义一个委托
delegate void MyDelegate(double dValue);
3、声明实例化委托:
MyDelegate dlg = new MyDelegate(myNO.Square);
4、增减委托:(+=/-=增减方法,若同方法添加两次,则执行两次)
dlg += new MyDelegate(myNO.SquareRoot);//向委托添加方法
dlg -= new MyDelegate(myNO.SquareRoot);//从委托移除方法委托案例说明(多方法委托)委托案例说明(多方法委托)dotNET_C#_OO_Delegate_MultiMethods
private static List< int >
FilterArray( int[] intArray,NumberPredicate predicate)
private static bool IsEven( int number )
private static bool IsOdd( int number )
private static bool IsOver5( int number )委托案例说明(委托的协变和逆变)委托案例说明(委托的协变和逆变)dotNET_C#_OO_Delegate_Coconvariant
声明返回类型为Person类实例的委托
delegate Person CreatePersonHandle(string FirstName, string LastName, int Age);
声明参数为Employee类实例的委托
delegate void ShowEmployeeHandle(Employee emp);
委托的协变:委托的返回类型比方法返回类型的抽象级别高,进行隐式转换
表现形式是方法返回的类型,是委托声明中返回类型的派生类。
CreatePersonHandle eh = CreateEmployee;
Employee employee = ((Employee)eh("Pony", "Smith", 41));
委托的逆变:委托的参数类型比方法参数类型的抽象级别低,进行隐式转换
表现形式是方法的参数类型,是委托声明中参数的基类。
ShowEmployeeHandle ph = ShowPerson;
ph(employee);事件事件 事件是C#中一个高级概念,是操作发生时允许执行特定于应用程序的代码的机制。事件要么在相关联的操作发生前发生(事前事件),要么在操作发生后发生(事后事件)。
例如,当用户单击窗口中的按钮时,将引发一个事后事件,以允许执行特定于应用程序的方法。
感谢您的关注感谢您的关注