1.引言 在.NET开发领域,FluentValidation以其优雅、易扩展的特性成为开发者进行属性验证的首选工具。它不仅适用于Web开发,如MVC、WebAPI和ASP.NETCORE,同样也能完美集成在WPF应用程序中,提供强大的数据验证功能。本文将深入探讨如何在CWPF项目中运用FluentValidation进行属性验证,并展示如何通过MVVM模式实现这一功能。 2.功能概览 我们的目标是构建一个WPF应用程序,它能够通过FluentValidation实现以下验证功能: 验证ViewModel层的基本数据类型属性,如int、string等。 对ViewModel中的复杂属性进行验...

  Hecb8Ngs3Ngd   2024年01月25日   28   0   0 .NET

目录 1.引言 2.优化过程 2.1.进程对象定义与初步分析 2.2.排除Json序列化 2.3.使用BinaryWriter进行二进制序列化 2.4.数据类型调整 2.5.再次数据类型调整与位域优化 3.优化效果与总结 1.引言 在操作系统中,进程信息对于系统监控和性能分析至关重要。假设我们需要开发一个监控程序,该程序能够捕获当前操作系统的进程信息,并将其高效地传输到其他端(如服务端或监控端)。在这个过程中,如何将捕获到的进程对象转换为二进制数据,并进行优化,以减小数据包的大小,成为了一个关键问题。本文将通过逐步分析,探讨如何使用位域技术对C对象进行二进制序列化优化。 ...

  Hecb8Ngs3Ngd   2024年01月23日   25   0   0 .NET

大家好,我是沙漠尽头的狼。在朋友圈看到桂素伟大佬发的喜讯截图,站长赶紧翻译向大家报喜,确定了-C是2023年度的编程语言! 在TIOBE指数的历史上,C首次获得了年度编程语言的奖项。祝贺!二十多年来,C一直是前10名的选手,现在它正在追赶四大语言,它以一年内最大的涨幅(+1.43%)赢得了这一当之无愧的奖项。紧随其后的是Scratch(+0.83%)和Fortran(+0.64%)。C正在蚕食Java的市场份额,并且在诸如Web应用程序后端和游戏(感谢Unity)等领域中越来越受欢迎。C可以免费使用(站长注:.NET是MIT协议开源,免费跨平台,信创没问题),并以稳定的速度发展,使该语言在每...

  Hecb8Ngs3Ngd   2024年01月14日   20   0   0 .NET

免责声明 使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢! 大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,结合前面两篇(如何在没有第三方.NET库源码的情况下调试第三库代码?和拦截、篡改、伪造.NET类库中不限于public的类和方法),本文将设计一个案例,手把手地带大家应用这两篇文章中涉及的技能,并介绍一种支持多个版本的库的兼容性解决方案(涉及第三方库的反编译和强签名)。 本文的目录如下: 前言 案例设计 使用dnSpy进行调试 使用Lib.Harmony拦截...

  Hecb8Ngs3Ngd   2023年11月06日   127   0   0 .NET

1.前言 大家好,我是沙漠尽头的狼。 Dotnet工具箱是一个纯前端的、开源和免费的工具网站,周末我参考了开源项目it-tools,对网站界面文字进行了汉化,并重新部署了网站。该网站共有10大工具分类,提供了73个实时在线小工具。使用Vue3开发的Dotnet工具箱具有独特的特色,本文详细介绍了其中一些特色工具,并简单分享了如何部署自己的工具网站。如果你对工具网站感兴趣,不妨来了解一下Dotnet工具箱吧! Dotnet工具箱已有工具如下: 关于Dotnet工具箱和it-tools项目 Dotnet工具箱仓库(基于it-tools):https://github.com/dotnet9/D...

  Hecb8Ngs3Ngd   2023年11月02日   38   0   0 Vue

大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图。 一、前言 在现代软件开发中,数据可视化和可交互性越来越受到关注。为了实现这一点,通常需要使用各种图表、表格、网络拓扑图等控件。然而,对于某些特殊的场景,这些控件可能无法满足需求,此时我们需要一种自定义的方式来展示和处理数据。NodeNetwork就是一种这样的自定义方式,它是一个基于CWPF的开源项目,可以帮助我们快速构建和定制网络拓扑图。 NodeNetwork的代码托管在GitHub上,是由荷兰的一位开发者Wouterdek所创建和维护的。在本文中,我们将对NodeNet...

  Hecb8Ngs3Ngd   2023年11月02日   32   0   0 .NET

大家好,我是沙漠尽头的狼。 一.问题描述 如下图,定义两个子类Student和Employ,都继承自抽象类PersonBase: publicabstractclassPersonBase { publicstringName{get;set;} protectedPersonBase(stringname) { Name=name; } } publicclassStudent:PersonBase { publicstringNumber{get;set;} publicStudent(stringname,stringnumber):base(name) { Number=numb...

  Hecb8Ngs3Ngd   2023年11月02日   35   0   0 .NET

大家好,我是沙漠尽头的狼。 上文介绍了《C使用CefSharp内嵌网页-并给出C与JS的交互示例》,本文介绍CefSharp的缓存实现,先来说说添加缓存的好处: 提高页面加载加速:CefSharp缓存可以缓存已经加载过的页面和资源,当用户再次访问相同的页面时,可以直接从缓存中加载,而不需要重新下载和解析页面和资源,从而加快页面加载速度。 减少网络流量:使用缓存可以减少网络流量,因为已经下载过的资源可以直接从缓存中读取,而不需要重新下载。 提高用户体验:由于缓存可以提高页面加载速度,因此可以提高用户的体验,用户可以更快地访问页面和资源,从而更加愉快地使用应用程序。 减少服务器负载:使用缓存可以...

  Hecb8Ngs3Ngd   2023年11月02日   42   0   0 .NET

大家好,我是沙漠尽头的狼。 Dotnet9网站回归Blazor重构,访问速度确实飞快,同时用上Blazor的交互能力,站长也同步添加了几个在线工具,这篇文章分享下Blazor的重构过程,希望对大家网站开发时做技术选型有个参考。 1.先聊聊RazorPages 上个版本网站前台使用的RazorPages开发,当时选择这个技术栈主要是为了搜索引擎的SEO优化考虑。 关于MVC和RazorPages哪个更优,我们这里只说说RazorPages相对的优势。 首先,RazorPages相对于MVC来说,更加简单和直观。由于RazorPages将视图和处理逻辑封装在同一个页面中,开发人员可以更容易地理解...

  Hecb8Ngs3Ngd   2023年11月02日   78   0   0 .NET

大家好,我是沙漠尽头的狼。 网站使用Blazor重构上线一天了,用Blazor开发是真便捷,空闲时间查查gpt和github,又上线一个正则表达式在线验证工具和几个在线小游戏,比如井字棋游戏、扫雷等。 下面简单介绍一下,看大家有没有兴趣或建议。 1.新增在线小工具 1.1.正则表达式在线验证工具 在线访问:https://dotnet9.com/tools/regextester 这个示例演示了如何使用BlazorServer开发一个简单的正则表达式在线验证工具。用户可以输入正则表达式和测试字符串并单击“测试”按钮以测试正则表达式是否匹配测试字符串。此外,这个示例还提供了10几个常用的正则表达...

  Hecb8Ngs3Ngd   2023年11月02日   36   0   0 .NET

大家好,我是沙漠尽头的狼。 在Dotnet9上线在线小工具和小游戏后,服务器的压力感觉挺大的,打开25个页面,内存占用170MB左右,CPU保持在6070%,看来Server真不适合搞这类交互较多的程序(服务器配置:2核4G内存),所以站长加急上线BlazorWasm版本网站,便于大家直观对比了解两种模式的区别,下面请看我细说。 1.关于上线Dotnet工具箱 为了后面工具和游戏的扩展,站长把去年买的域名dotnetools.com用上了,该域名一次性买了10年(不用担心网站过几年消失,当然不排除意外,比如站长没钱续费服务器。。。),并赶紧在1天之内开发并部署了一个BlazorWasm版本网站...

  Hecb8Ngs3Ngd   2023年11月02日   34   0   0 .NET

大家好,我是沙漠尽头的狼。 本方首发于Dotnet9,介绍使用dnSpy调试第三方.NET库源码,行文目录: 安装dnSpy 编写示例程序 调试示例程序 调试.NET库原生方法 总结 1.安装dnSpy dnSpy是一款功能强大的.NET程序反编译工具,可以对.NET程序进行反编译,代替库文档的功能,代码丢失或者损坏可直接恢复,所以能在完全没有源码的情况下即时调试程序,甚至还能修改程序! Github有二进制可执行程序下载地址,也有源码可以自行编译,本文使用前者,Github地址是:https://github.com/dnSpy/dnSpy 2.编写示例程序 示例为一个桌面程序,输入数...

  Hecb8Ngs3Ngd   2023年11月01日   87   0   0 .NET

大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,介绍使用Lib.Harmony库拦截第三方.NET库方法,达到不修改其源码并能实现修改方法逻辑、预期行为的效果,并且不限于只拦截public访问修饰的类及方法,行文目录: 什么是方法拦截? 示例程序拦截 非public方法怎么拦截? 总结 1.什么是方法拦截? 方法拦截是指在方法被调用之前或之后,通过插入自定义的代码来修改方法的行为。通过方法拦截,开发人员可以在不修改原始代码的情况下,对方法的输入参数进行验证、修改方法的返回值、记录方法的调用日志等操作。 本文使用Lib.Harmony库实现第三方库方法的拦截,关于该库站长写过[快学会这...

  Hecb8Ngs3Ngd   2023年11月01日   28   0   0 .NET

免责声明 使用者本人对于传播和利用本公众号提供的信息所造成的任何直接或间接的后果和损失负全部责任。公众号及作者对于这些后果不承担任何责任。如果造成后果,请自行承担责任。谢谢! 大家好,我是沙漠尽头的狼。 本文首发于Dotnet9,结合前面两篇(如何在没有第三方.NET库源码的情况下调试第三库代码?和拦截、篡改、伪造.NET类库中不限于public的类和方法),本文将设计一个案例,手把手地带大家应用这两篇文章中涉及的技能,并介绍一种支持多个版本的库的兼容性解决方案(涉及第三方库的反编译和强签名)。 本文的目录如下: 前言 案例设计 使用dnSpy进行调试 使用Lib.Harmony拦截...

  Hecb8Ngs3Ngd   2023年11月01日   29   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~