随笔分类 -  C#

摘要:使用Confuser进行dll或者exe加密的时候,如果代码中使用到了反射匹配,那么混淆后程序在运行的时候,很有可能会因为源代码被做了混淆处理,然后反射出来的类成员名直接匹配不上例如写在外部程序的固定取值中,就会发生报错。 如何解决这个问题: 打开ConfuserEx,找到Setting 选择Pre 阅读全文
posted @ 2021-09-09 14:54 ZedFFF 阅读(1115) 评论(0) 推荐(0)
摘要:特性实际上是一种附加数据,给一个类上或者内部的方法、属性等添加某个或一些特性相当于给这些内容附加上这些个特性的数据,从而能使得类中的这些数据被扩展了,附加上了额外的标记信息能够在后续的程序中被识别或者处理。 下面以新增一个自定义特性并将其输出到控制台中的程序为例: 首先建立一个Person类,结构如 阅读全文
posted @ 2021-09-01 21:04 ZedFFF 阅读(514) 评论(0) 推荐(0)
摘要:建议在布局的时候不要使用SpliteContainer,因为固定的时候在缩放条件下会发生形变,建议直接用panel承载布局,然后对于布局复杂的直接取消放大缩小 阅读全文
posted @ 2021-07-23 11:07 ZedFFF 阅读(408) 评论(0) 推荐(0)
摘要:参考此文:https://www.cnblogs.com/chuankang/p/8776124.html 里面还有更多的用法 简单的代码如下,声明这个类 using Microsoft.Extensions.Configuration;using Microsoft.Extensions.Conf 阅读全文
posted @ 2021-05-09 16:32 ZedFFF 阅读(101) 评论(0) 推荐(0)
摘要:SqlServer中的bool类型就是bit,赋值的时候赋值0或1即可,同时数据库在编辑状态下会自动与字符串常亮True和False替换。 使用SqlSugar的时候设置bit类型,如下代码IsImportant 和 IsFinish字段就是bool类型的设置方法 : [SugarTable("Ta 阅读全文
posted @ 2021-05-09 16:16 ZedFFF 阅读(2437) 评论(0) 推荐(0)
摘要:问题描述:前台根据后台的webapi传递过来的数据,然后设置DataSource,第一遍都是没问题的,但是发现只要刷新过快就立即报错; 上代码,位于某个Button的Click事件中: BomList = await GetListAsync(); m_DVBOMInfo.DataSource = 阅读全文
posted @ 2021-05-08 14:21 ZedFFF 阅读(350) 评论(0) 推荐(0)
摘要:string assemblyLoc = typeof(YourClassName).Assembly.Location;//YourClassName就是当前assembly中的Class名称 string assemblyPath = Path.GetDirectoryName(assembly 阅读全文
posted @ 2021-05-07 15:44 ZedFFF 阅读(635) 评论(0) 推荐(0)
摘要:NPOI从Nuget上下载 //设置Excel打印分页 table.FitToPage = false; const int rowBreakCount = 22;//每个打印分页22行,起始是第27行 for (int j = 27; j < i; j += rowBreakCount) { ta 阅读全文
posted @ 2021-04-15 11:00 ZedFFF 阅读(1037) 评论(0) 推荐(0)
摘要:首先在SqlLite的官网中下载SqlLite文件: 官网下载地址:https://www.sqlite.org/download.html 选择这个for .net 然后如下图所示,一般64位的同学下载这个就可以了 下载解压完成后如下图所示: 其中:System.Data.SQLite.dll这个 阅读全文
posted @ 2021-02-06 12:49 ZedFFF 阅读(2803) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 使用了await实际上使用的是同步流。 下面两种方法相同 阅读全文
posted @ 2021-01-21 15:39 ZedFFF 阅读(77) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 其作用等同于使用了OnCompleted回调方法执行了一些事情。 阅读全文
posted @ 2021-01-21 13:55 ZedFFF 阅读(79) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 引入async和await 阅读全文
posted @ 2021-01-21 11:27 ZedFFF 阅读(70) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 阅读全文
posted @ 2021-01-21 11:17 ZedFFF 阅读(64) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 例子: Timer例子: delay例子: 阅读全文
posted @ 2021-01-21 11:08 ZedFFF 阅读(143) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 例子: Task里模拟一个耗时操作。 awaiter通过回调方法继续在线程池上执行后续任务。 委托里面可以通过awaiter.Result取到之前Task的结果。 什么是awaiter 例子 阅读全文
posted @ 2021-01-21 10:45 ZedFFF 阅读(85) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 所以在上面的例子我们用了AggregateException拿到了这个异常。 阅读全文
posted @ 2021-01-21 10:03 ZedFFF 阅读(59) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 Func<TResult> 表示一个没有输入参数,返回值为TReasult类型的委托。 例子: task.Result会阻塞主线程。 阅读全文
posted @ 2021-01-21 09:48 ZedFFF 阅读(394) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 并发:concurrency 而Thread带来的问题或者说是限制都可以由新的Task类进行解决。 Task.Run相当于是Task.Factory.StartNew的简化版本。 例子: 输出: 可以看到什么都没输出来。 这是因为:Task使用的是线程池,使用的是后台线程,主线 阅读全文
posted @ 2021-01-21 09:31 ZedFFF 阅读(119) 评论(0) 推荐(0)
摘要:一下内容来自B站老杨 线程池线程也是一个线程。 最简单的进入池线程运行代码的方法。 线程池整洁的概念 阅读全文
posted @ 2021-01-21 09:01 ZedFFF 阅读(63) 评论(0) 推荐(0)
摘要:以下内容来自B站老杨 Marshaling的解释:将C#类中的数据转换成Json数据格式,这个就是Marshaling。 而Thread Marshaling的意思就是将一个线程中的数据传递到另一个线程中。 例子: 输出: 阅读全文
posted @ 2021-01-20 17:02 ZedFFF 阅读(101) 评论(0) 推荐(0)