Loading

随笔分类 -  C#

摘要:约束告知编译器类型参数必须具备的功能。 在没有任何约束的情况下,类型参数可以是任何类型。 编译器只能假定 System.Object 的成员,它是任何 .NET 类型的最终基类。 如果客户端代码使用不满足约束的类型,编译器将发出错误。 通过使用 where 上下文关键字指定约束。 最常用的泛型约束为where T : struct、where T : class、where T : new()。 阅读全文
posted @ 2020-07-30 13:55 二次元攻城狮 阅读(689) 评论(0) 推荐(0)
摘要:之前接手同事的项目,是一个类似于服务端后台的Winform程序,主界面隐藏起来,只再任务栏显示程序图标。 整个项目里面没有日志记录功能,全靠Console.WriteLine打印信息。自己调试时可以用VS查看输出的内容,但给测试人员使用时很不方便。 最终,我选择将Console.WriteLine的输出内容记录到日志文件。 代码很简单,就不过多解释了,重点注意Console.SetOut方法 、 ConsoleLogTextWriter类即可,日志类Log根据需求自己实现。 阅读全文
posted @ 2020-07-12 19:16 二次元攻城狮 阅读(2864) 评论(3) 推荐(1)
摘要:前几天用SerialPort类写一个串口的测试程序,关闭串口的时候会让界面卡死。网上大多数方法都是定义2个bool类型的标记Listening和Closing,关闭串口和接受数据前先判断一下。我的方法是DataReceived事件处理程序用this.BeginInvoke()更新界面,不等待UI线程执行完委托就返回。 阅读全文
posted @ 2019-12-26 22:30 二次元攻城狮 阅读(3270) 评论(0) 推荐(3)