C#听课记录01事件
事件源是一个类,变量,属性,方法,事件。
类发布事件。
事件是委托类型的变量,各种关联是把方法绑定到委托上,激活是执行委托。
1.定义一个委托。delegate void DoDelegate();
class Bell
{
public event DoDelegate BellRing; 事件
public void OnBellRing() 激活事件
{
Console.WriteLine("上课铃响了");
BellRing();
}
}
把方法绑定到委托上用+=
判断事件是否为空
class Bell
{
public event DoDelegate BellRing; 事件
public void OnBellRing() 激活事件
{
if(BellRing!=null)
{
BellRing();
}
else
{
Conbole.WriteLine("放假了,没有学生上课");
}
}
}
dll-类库,别的程序来调用它(程序集的动态加载)
exe-应用程序
程序集
程序集:是已编译好的面向.Net Framework的代码逻辑单元。是.Net Framework应用程序的基本构造块,我们编译生成的.exe和.dll文件都是程序集。
元数据:用于描述其他数据的数据。
20 年龄(元数据)
200 身高(元数据)
程序集包含:
1.程序集清单-》程序集元数据
2.类型元数据(描述类,事件,属性,方法,变量)
3.IL代码(由编译器编译)
4.资源(图片)
使用特性来扩展元数据,来动态改变代码的执行方式.(别和属性混了)
比如:在方法里用特性
[特性名()]没参数省略小括号
public void MyMothed()
{
}
Obsolete特性
将元素标记为已过时的,可以通知用户该元素在未来版本中可能会被删除。
如:Thread.Resume方法已过时.
定义自定义属性
基类是Attribute
[AttributeUsage(AttributeTargets.Method|AttributeTargets.Class)]
public class MyAttribute:Attribute//派生
{
}
Flags特性,
竖杠,位或,二进制

浙公网安备 33010602011771号