【C#4.0图解教程】笔记(第9章~第18章)



|
try
{ }
catch (IndexOutOfRangeException e)
{ }
finally
{ } |



































|
using System;
public class MyTCEventArgs : EventArgs //继承EventArgs类,EventArgs是包含事件数据的类的基类
{
public string Message;
public MyTCEventArgs(string s)//构造函数
{
Message = s;
}
}
public class MyTimerClass
{
public event EventHandler<MyTCEventArgs> Elapsed;//泛型委托事件声明
private void OnOneSecond(object source, EventArgs args)//发起事件的代码
{
if (Elapsed != null)//判断事件是否不为空
{
MyTCEventArgs mtcea = new MyTCEventArgs("message from ononesecond");
Elapsed(source, mtcea);//触发事件,它有两个参数是由声明时EventHandler委托决定的,它是一个.NET BCL使用的预定义的用于标准事件的委托.所以一般都是两个参数
}
}
private System.Timers.Timer MyprivateTimer; //私有计时器
public MyTimerClass()//构造函数
{
MyprivateTimer = new System.Timers.Timer();//初始化私有计时器
//下面语句将上面的OnOneSecond设置成了类计时器的Elapsed事件的事件处理程序.
//它与我们上面声明的Elapsed事件完全无关.
MyprivateTimer.Elapsed += OnOneSecond;//附加事件处理程序.
MyprivateTimer.Interval = 1000;//每秒调用一次.
MyprivateTimer.Enabled = true;
}
}
class ClassA
{
public void TimerHandlerA(object sourse, MyTCEventArgs args)//事件处理程序,注意两个参数
{
Console.WriteLine("Class A Message: {0}", args.Message);
}
}
class Program
{
static void Main()
{
ClassA ca = new ClassA();
MyTimerClass mc = new MyTimerClass();
mc.Elapsed += new EventHandler<MyTCEventArgs>(ca.TimerHandlerA);//注册事件处理程序
Console.ReadKey();
}
} |


|
using System;
interface IIfc1
{
void printout(string s);
}
class A:IIfc1
{
public void printout(string s)
{
Console.WriteLine("Calling throught From A:{0}", s);
}
}
class B : IIfc1
{
public void printout(string s)
{
Console.WriteLine("Calling throught From B:{0}", s);
}
}
class Program
{
static void Main()
{
A a = new A();
B b = new B();
a.printout("A");
b.printout("B");
IIfc1 ifc = (IIfc1)a;
ifc.printout("interface");
IIfc1 ifc2 = b as IIfc1;//使用as运算符会更好,因为as运算符转换没有实现该接口的类时,返回NULL而不会抛出异常,强制转换则会.
ifc2.printout("inferface2");
Console.ReadKey();
}
} |










【C#4.0图解教程】笔记(第9章~第18章)的更多相关文章
- 【读书笔记】关于《精通C#(第6版)》与《C#5.0图解教程》中的一点矛盾的地方
志铭-2020年2月8日 03:32:03 先说明,这是一个旧问题,很久很久以前大家就讨论了, 哈哈哈,而且先声明这是一个很无聊的问题,
- linux内核分析第3章&第18章读书笔记
linux内核分析第3章&第18章读书笔记 第三章 进程管理 进程:处于执行期的程序(目标码存放在某种存储介质上) 包含资源:可执行程序代码,打开的文件,挂起的信号,内核内部数据,处理器状态, ...
- 【C#4.0图解教程】笔记(第19章~第25章)
第19章 泛型 1.泛型概念 泛型提供了一种更准确地使用有一种以上的类型的代码的方式. 泛型允许我们声明类型参数化的代码,我们可以用不同的类型进行实例化. 泛型不是类型,而是类型的模板. 2.声明 ...
- 【C#4.0图解教程】笔记(第1章~第8章)
第1章 C#和.NET框架 1..NET框架的组成 .NET框架由三部分组成(严格来说只有CLR和FCL(框架类库)两部分),如图 执行环境称为:CLR(公共语言运行库),它在运行期管理程序的执行. ...
- C#4.0图解教程 - 第24章 反射和特性 – 2.特性
1.特性 定义 Attribute用来对类.属性.方法等标注额外的信息,贴一个标签(附着物) 通俗:给 类 或 类成员 贴一个标签,就像航空部为你的行李贴一个标签一样 注意,特性 是 类 和 类的成员 ...
- C#4.0图解教程 - 第24章 反射和特性 - 1.反射
24.1 元数据和反射 有关程序及类型的数据被成为 元数据.他们保存在程序集中. 程序运行时,可以查看其他程序集或其本身的元数据.一个运行的程序查看本身元数据或其他程序的元数据的行为叫做 反射. 24 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块 ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- 《C#图解教程》读书笔记之五:委托和事件
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执 ...
随机推荐
- js onchange事件
因为onchange在属性值改变时还必须使得当前元素失去焦点(onblur)才可以激活该事件. 如果你需要即时监听输入框值的变化,建议使用 onpropertychange 事件! 在IE下,当一个H ...
- HW6.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- 纯CSS3实现的图片滑块程序,效果非常酷
接下来我们一起来分析一下源码,首先是HTML代码,非常简单: <div id="gal"> <nav class="galnav"> & ...
- 转载ASP.NET MVC 和ASP.NET Web Form简单区别
转载原地址 http://www.cnblogs.com/lei2007/p/3315431.html 概论: Asp.net 微软 提供web开发框架或者技术.分Web Form和ASP.NET ...
- 关于local storage 和 session storage以及cookie 区别简析
session storage 和local storage 都是存储在客户端的浏览器内: 一:关于COOKIE 的缺陷 * Cookie的问题 * 数据存储都是以明文(未加密)方式进行存储 * 安全 ...
- ajax 返回json数据操作
例子: $.ajax({ url: "<?=Url::toRoute('add-all-staff')?>", type: 'get', dataType: 'json ...
- 一、FreeMarker 模版开发指南 第一章 入门
所有资料来自 南磊 翻译的官方文档,我弄简单了,适合自己以后拿出来翻看. 章节内容如下: 简介 模板+数据模型=输出 数据模型一览 模板一览 一.模板 + 数据模型 = 输出 输出结果: &l ...
- hadoop 2.0 详细配置教程
http://www.cnblogs.com/scotoma/archive/2012/09/18/2689902.html
- ECSHOP在线手册布局参考图--登录/注册页 user_passport.dwt
A.会员登录框 1,设置方法 自带模块 2,代码相关 user_passport.dwt 中 <div class="usBox_1 f_l"> <div ...
- Xcode中c++&Object-C混编,详细介绍如何在cocos2dx中访问object函数以及Apple Api
转自:http://www.himigame.com/iphone-cocos2dx/743.html Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Jav ...