
C#
Leo-夜空
这个作者很懒,什么都没留下…
展开
-
WinForm设计随笔
WinForm1.健壮性同上2.高内聚低耦合抽象思维精简类的功能封装、继承、多态(参见C#多态:重载、虚方法、抽象类和接口)参考23种设计模式3.关闭修改,开放扩展不应该修改已实现使用继承多态等特性扩展接口的实现4.代码简洁简洁通常意味着高效易读易维护使用语言特性而非类库以简化代码5.不应该为了设计而增加设计非必要的情况下,过多的“设计”会增加代码的复...原创 2019-12-24 17:04:55 · 193 阅读 · 0 评论 -
C# 用async和await表达异步
async和awaitasync:声明异步方法使用await,需要用async修饰await所在的方法await:等待异步方法执行完毕但不会阻塞主线程将async方法分为两部分,await前的为async方法执行的主线程,await之后的部分被安排为“后续操作”在子线程中执行await不会创建子线程,只是通知并记录有一个异步方法的执行(Task.Run()创建一个子线程)st...原创 2019-12-20 18:14:56 · 420 阅读 · 0 评论 -
C#多态:重载、虚方法、抽象类和接口
多态是同一个行为具有多个不同表现形式或形态的能力多态可以是静态或动态的。* 静态多态性:函数的响应是在编译时发生的* 动态多态性:函数的响应是在运行时发生的静态多态性方法重载运算符重载方法的重载同一作用域内,可以对相同的函数名有不同的定义,参数类型和个数的不同都表示不同的方法。不能重载返回类型不同的函数声明。动态多态性抽象类虚方法抽象类虚方法在继承关系中,如果...原创 2019-12-14 12:15:35 · 441 阅读 · 0 评论 -
C# 委托和方法的异步调用(BeginInvoke)
委托和方法的异步调用通过委托变量的BeginInvoke方法,可以从线程池中抓出一个线程异步执行委托方法。//public delegate T2 AddDelegate(T x, T y);// BeginInvoke()除了最后两个参数为AsyncCallback类型和Object类型以外,前面的参数类型和个数与委托定义相同// 调用BeginInvoke()之后,需要保留IAsync...原创 2019-12-11 16:25:06 · 1738 阅读 · 0 评论 -
C# 数据类型转换
/// <summary>/// 字符串转换成16进制字节数组/// </summary>/// <param name="hexString"></param>/// <returns></returns>private byte strToHexBytes(string hexString, ref byte[]...原创 2019-12-10 18:07:21 · 190 阅读 · 0 评论