![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
asp.net core
asp.net core 站点完整示例
犹似流水
专职dotnet 开发
展开
-
C# 优雅的记录属性值变化
CallerMemberNameAttribute 能获取到调用方的属性和方法名,无法获取属性中使用的特性,如使用 DescriptionAttribute 作为属性名称的描述,日志需要记录该属性的描述时无法通过此特性获取,可以考虑用反射的方式获取。记录属性值变化的方式有很多,但是有一个特性能帮助我们优雅的记录值变化,仅需一个公共方法,即可实现所有属性值变更记录;属性变更的记录在很多应用场景中有使用,如用做审计日志或操作日志记录等等。下面来看如何使用此特性实现优雅的记录属性值变化。原创 2024-04-11 17:56:30 · 214 阅读 · 0 评论 -
C# 基于Monitor的几种锁实现方式
线程锁是一种同步机制,在多线程中确保共享资源在同一刻只能有一个线程访问;原创 2024-04-01 16:38:07 · 325 阅读 · 0 评论