今天是学习神奇的聊天室的前奏,喜欢上老师的节奏。
今天的笔记是:
1.delegate 编译后 会编程一个 class,继承于 MulticastDelegate(多播委托)
2.delegete 继承 MulticastDelegate 继承 Delegate
3.dgSayHiObj += SayHiInJP 编译后变成:
dgSayHiObj = (DGSayHi) Delegate.Combine(dgSayHiObj, new DGSayHi(this.SayHiInJP));
上面代码 就相当于 将 两个 方法集合里的方法 都存入一个新的方法集合中,最后返回。
*dgSayHiObj
0x01b9c534
*dgSayHiObj
0x01b9c58c
4.event事件关键字帮我们做了两个事情:
1.创建了一个 对应的 private 的委托对象。
2.创建乐意个 【事件属性】,里面包含了 add和remove方法,他们都是直接操作 上面的私有委托对象。
5.一个窗体程序,默认拥有一个线程(其实相当于 一个商店里,只有一个店员),这个默认的线程就叫做 UI线程/主线程。
6.多线程程序,必须等程序里所有的线程都退出后,才会关闭。
7.线程的调用由CPU决定,所以调用Thread实例的Start方法,标记该线程可以被CPU执行了,但具体执行时间由CPU决定。
8.进程和线程的关系:
进程 在大多数情况下就是指的 程序。(商店:囤积要使用的资源的地方)
线程 是在进程中能够被CPU调用的程序单元。(商店员工:是运行程序的行动者--本质是 提供CPU运行的程序代码片段单元)
9.端口是做什么的? 如果说IP是用来在互联网上确定一台电脑的,那么,端口就是在一台电脑上来区别不同的 程序的标记。
//如果在win7下要通过 某个线程 来调用 文件选择框的代码,就需要设置如下
threadClient.SetApartmentState(ApartmentState.STA);
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ---------------------- 详细请查看: http://edu.csdn.net/heima/