标签:
一,委托
void Invoke(string input)具有个委托相同的类型和相同的参数

delegate void StringProcessor(string input);//委托签名 class Person { string name; public Person(string name) { this.name = name; } public void Say(string msg) { Console.WriteLine("{0}agy:{1}", name, msg); } public void tu(string msg) { Console.WriteLine("{0}agy:{1}", name, msg); } }#region 委托事件 Person jon = new Person("Jon"); Person tom = new Person("tom"); StringProcessor jons, toms, background;///创建委托实例 jons = new StringProcessor(jon.Say);//委托实例使用的方法 toms = new StringProcessor(tom.Say); background = new StringProcessor(Backgroud.Note); jons += toms; jons("Hello,jon"); toms("Hello,tom"); background("note"); #endregion“协变”是指能够使用与原始指定的派生类型相比,派生程度更大的类型。
“逆变”则是指能够使用派生程度更小的类型。
只是有一点记住Dog 继承自Animal,
所以Dog变成Animal 就是和谐的变化(协变),而如果Animal 变成Dog就是不正常的变化(逆变)
三,值类型和引用类型

dynamic d = "hello";//动态类型 Console.WriteLine(d.Length); d = new string[] { "hi", "there" }; Console.WriteLine(d.Length);
标签:
原文地址:http://www.cnblogs.com/Tan-sir/p/5169195.html