public delegate void BugTicketEventHandler();
public static void BuyTicket()
{Console.WriteLine("NND,每次都让我去买票,鸡人呀!");}二、委托链:1.概念: 其实委托链也是相当的简单,在现实生活中,小明叫小张买完车票之后,可能接着又让他带张电影票2.例子://小张类public class MrZhang { //其实买车票的悲情人物是小张 public static void BuyTicket() { Console.WriteLine("NND,每次都让我去买票,鸡人呀!"); } public static void BuyMovieTicket() { Console.WriteLine("我去,自己泡妞,还要让我带电影票!"); } } //小明类 class MrMing { //声明一个委托,其实就是个“命令” public delegate void BugTicketEventHandler(); public static void Main(string[] args) { //这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票” BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket); myDelegate += MrZhang.BuyMovieTicket; //这时候委托被附上了具体的方法 myDelegate(); Console.ReadKey(); } } 三、事件:四、关键字:1.Object:接口只包含方法、属性、事件或索引器的“签名”。成员的实现是在实现接口的类或结构中完成的。object 类型在 .NET Framework 中是 Object 的别名。在 C# 的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。可以将任何类型的值赋给 object 类型的变量。将值类型的变量转换为对象的过程称为“装箱”。将对象类型的变量转换为值类型的过程称为“取消装箱”。2.override:要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。3.virtual:virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。4.sealed:当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。5.readonly:在字段上使用的修饰符。C#引入了readonly修饰符来表示只读域,const来表示不变常量。顾名思义对只读域不能进行写操作,不变常量不能被修改,这两者到底有什么区别呢?只读域只能在初始化--声明初始化或构造器初始化--的过程中赋值,其他地方不能进行对只读域的赋值操作,否则编译器会报错。只读域可以是实例域也可以是静态域。只读域的类型可以是C#语言的任何类型。但const修饰的常量必须在声明的同时赋值,而且要求编译器能够在编译时期计算出这个确定的值。const修饰的常量为静态变量,不能够为对象所获取。6.extern:在方法声明中使用extern修饰符支持在外部实现方法。外部修饰符的常见用法是:在使用Interop 服务调入非托管代码时与 DllImport 属性一起使用;在这种情况下,该方法还必须声明为 static,如下面的示例所示:using System;using System.Runtime.InteropServices;
//引用外部
namespace extern{public partial classDllImportForm : Form{publicDllImportForm(){InitializeComponent();}[DllImport("kernel32",SetLastError =true)]//声明和实现的连接public static extern intGetCurrentDirectory(int a, StringBuilderb);//外部方法PRivatevoid btnDisplay_Click(objectsender, EventArgs e){StringBuilderpathstring=new StringBuilder(); //返回路径GetCurrentDirectory(300,pathstring);this.listBox1.Items.Add(pathstring);}}}7.event:关键字用于在发行者类中声明事件。8.abstract:修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员,必须通过从抽象类的派生的类来实现。9.internal:访问修饰符,关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。10.as:一个转换操作符,如果转换失败,就返回null。11.checked:既是操作符又是语句。 确保编译器运行时,检查整数类型操作或转换时出现的溢出。12.explicit:用户自定义转换操作符的操作符, 通常用来将内建类型转换为用户定义类型或反向操作。 必须再转换时调用显示转换操作符。
新闻热点
疑难解答