随笔分类 -  .NET Core

摘要:MAUI 简介 MAUI 布局Layout MAUI 布局Layout StackLayout MAUI 布局Layout Grid MAUI 布局Layout AbsoluteLayout MAUI 布局Layout FlexLayout MAUI 布局Layout BindableLayout 阅读全文
posted @ 2023-02-24 13:20 Lulus 阅读(1254) 评论(0) 推荐(3) 编辑
摘要:有时我们需要计算两个时间点相差的年份和月份,比如从2022年1月到2023年3月,相差多少年多少月。 但TimeSpan(链接)只提供了总计天数、总计小时、总计分钟等等的结果,并没有提供总计年、总计月(由于它表示一个不引用特定起点或终点的常规间隔,因此不能用年和月来表示,这两者都有可变的天数。)。那 阅读全文
posted @ 2022-12-01 09:34 Lulus 阅读(2300) 评论(0) 推荐(0) 编辑
摘要:我们的代码中有时候会需要调用其他平台的接口,在做单元测试的时候,我们不需要测试这些第三方接口是否生效,接口是否有问题,但是如果我们直接调用第三方接口,这些接口的错误又会影响我们正常的测试工作,所以我们应该怎么办呢?我们可以模拟这些接口,让其返回我们期待的返回结果,这样我们就可以顺利的进行内部代码的测 阅读全文
posted @ 2022-11-30 22:42 Lulus 阅读(384) 评论(0) 推荐(0) 编辑
摘要:在我们写SQL时,经常会遇到IN、NOT IN这样的查询条件,这时后面的条件需要一个参数列表。 我们期待可以根据数据列表[1,3,5],动态生成多个参数,即@Parameter1=1,@Parameter2=3,@Parameter3=5。 我们可以写一个扩展方法实现它: public static 阅读全文
posted @ 2022-11-15 15:32 Lulus 阅读(519) 评论(0) 推荐(0) 编辑
摘要:public static void Run() { //return 1 var t1 = TestClass.Test1(); //return 2 var t2 = TestClass.Test2(); var state = ReplaceMethod(typeof(TestClass).G 阅读全文
posted @ 2022-11-14 15:06 Lulus 阅读(426) 评论(0) 推荐(0) 编辑
摘要:有时我们单元测试的时候,期待我们通过Nsubstitute模拟的方法可以根据不同的入参、不同的逻辑,返回不同的结果。 事实上,Nsubstitute 支持通过Function的方式返回指定值。 例子代码如下 teacherManager .Insert(Arg.Any<Teacher>()) .Re 阅读全文
posted @ 2022-11-12 14:27 Lulus 阅读(535) 评论(0) 推荐(0) 编辑
摘要:我们的代码并不是一个方法可以完成的,我们通常会设置很多层级,比如Controller、ApplicationService、DomainService、Repository,这个时候,单元测试应该怎么写呢?我们应该模拟下层方法(接口)的返回结果,有且只测试当前方法的代码逻辑。 下面以NSubstit 阅读全文
posted @ 2022-11-08 17:50 Lulus 阅读(426) 评论(0) 推荐(0) 编辑
摘要:之前我们介绍了如何在单元测试中设置优先级,以一定的顺序执行单元测试。但根据对单元测试排序和.NET Core 和 .NET Standard 单元测试最佳做法我们可以知道,这并不是最佳做法。 那么最佳做法是什么呢?我们应该保证每一个单元测试都是自包含的。 以StudentServiceWithPri 阅读全文
posted @ 2022-11-07 09:11 Lulus 阅读(556) 评论(0) 推荐(0) 编辑
摘要:有时候我们期待以固定的顺序执行测试,比如先新增学生信息,再修改学生信息,再查询、再删除。在这种设计下,如果顺序发生变化,可能导致错误,比如修改一个不存在的学生信息,会导致测试不通过。 这里以Xunit为例,来看一下如何实现顺序执行单元测试。 直接谷歌xunit Priority unit test, 阅读全文
posted @ 2022-11-06 13:48 Lulus 阅读(756) 评论(0) 推荐(0) 编辑
摘要:输出 示例代码 "ReflectionDemo" 参考资料 "Get the name of the currently executing method in dotnet core" 阅读全文
posted @ 2020-04-18 10:37 Lulus 阅读(845) 评论(0) 推荐(1) 编辑
摘要:引用 使用 创建sqlite数据库 创建上下文 查询数据 示例代码 "QueryTree" 参考资料 ".Net Core EF Core之Sqlite使用及部署" 阅读全文
posted @ 2020-04-12 20:16 Lulus 阅读(3751) 评论(0) 推荐(0) 编辑
摘要:对象引用可以 向上转换为基类引用 地向下转换为子类引用 Plant是PositivePlant和NegativePlant的基类 示例代码 "BaseAndSubClassTypeConversion" 参考资料 "C 转换" 阅读全文
posted @ 2020-03-22 21:37 Lulus 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:匿名方法(Anonymous methods) 提供了一种 。匿名方法是 。 在匿名方法中, ,它是从方法主体内的 return 语句推断的。 示例代码 "AnonymousMethodDemo" 参考资料 "C 匿名方法" 阅读全文
posted @ 2020-03-19 20:34 Lulus 阅读(1403) 评论(0) 推荐(0) 编辑
摘要:在C#中把类型转换分为隐式转换(implicit conversions)和显式转换(explicit conversions) 隐式转换就是系统默认的、不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换 显式类型转换(强制类型转换)需要用户明确地指定 阅读全文
posted @ 2020-03-18 23:09 Lulus 阅读(802) 评论(0) 推荐(0) 编辑
摘要:定义枚举类型: internal enum SexEnum { [Description("男性")] Man=1, [Description("女性")] Woman =2, [Description("未知")] Unknown =3, TestNoDescription=4 } 枚举扩展方法: 阅读全文
posted @ 2020-03-18 21:31 Lulus 阅读(618) 评论(0) 推荐(0) 编辑
摘要:IFormattable和IFormatProvider用于 ,比如日期格式(2020/3/18 19:56:29、2020年3月18日)、数字格式(小数位、数值类型decimal/float/double)、其他需要规范输出的应用场景。 IFormattable 接口将对象的值格式化为字符串表示形 阅读全文
posted @ 2020-03-18 20:07 Lulus 阅读(995) 评论(0) 推荐(0) 编辑
摘要:.NET Framework 4 引入了 System.Collections.Concurrent 命名空间,其中包含多个线程安全且可缩放的集合类。 何时使用线程安全集合 .NET Framework 4 新引入了五个专为支持多线程添加和删除操作而设计的集合类型。 为了实现线程安全性,这些新类型使 阅读全文
posted @ 2020-03-11 18:39 Lulus 阅读(857) 评论(0) 推荐(0) 编辑
摘要:搜索 搜索问题的时候,比较常用的网址有下面几个: 微软官方文档 "Microsoft Docs" "stack overflow" "github" "博客园" "csdn" 独立技术点的社区论坛,比如 "Xamarin Community Forums" 学习 免费资源中有很多非常好的、质量高的学 阅读全文
posted @ 2020-02-25 15:22 Lulus 阅读(1279) 评论(0) 推荐(0) 编辑
摘要:.net 创建Windows Service .net for TCP服务端 && 客户端 TypeScript Array Remove EntityFrameworkCore 一表对多表存在外键的设计 读取mdb文件 基类、子类之间的类型转换 自定义显隐式类型转换 EF Code First 快 阅读全文
posted @ 2020-02-24 11:43 Lulus 阅读(357) 评论(0) 推荐(0) 编辑
摘要:项目管理和命名方式都是“规范”的问题,部分公司会书写这方面的规范文档,以保证大家写出来的代码符合同一规范。这里只讨论常用的规范方式。 项目管理 项目管理这一块,涉及到解决方案中的各个概念,“解决方案”、“项目”、“文件夹”、“文件”(含说明性文档)。其中,解决方案包含项目,项目包含文件夹,文件夹包含 阅读全文
posted @ 2020-02-22 14:20 Lulus 阅读(1724) 评论(0) 推荐(0) 编辑