- 博客(41)
- 资源 (2)
- 收藏
- 关注
原创 VS项目,在生成的时候自动修改版本号
原理:通过csproject项目文件中的Target标签,实现在项目编译之前对项目版本号进行修改,避免手动修改;可通过下载demo运行即可。
2024-12-20 16:32:02
334
原创 Gitflow实操以及代码审查Pull Request操作
用git一直有一个问题,就是怎么保证代码稳定性,保证代码干净不被污染。如果一直用一个分支(master),很多像这样的问题就会接踵而至,因为所有人都会不断地往里面写代码,于是Vincent Driessen先提出来一套完整的gitflow方案。本文参考项目中实际的情况,对gitflow有选择地使用。其中release、hotfix分支就不再涉及。这两个分支和其他分支的操作大同小异。
2024-04-26 18:04:12
548
2
原创 wpf开发-MVVM框架之下,窗体的load事件绑定viewmodel
做MVVM开发的时候,经常会遇见一个问题。前端的一些事件比如window的loaded事件,无法绑定到后端的viewmodel。实际上,wpf官方已经提出了解决的办法,引用一个组件:System.Windows.Interactivity。
2024-04-08 10:02:16
1496
原创 面向对象开发-多态
定义:面向对象编程是一种软件开发方法,通过将相关的数据和方法组合在一起以创建其他对象,并以对象之间的交互来构建复杂的系统。特性和优势:封装(Encapsulation)、继承(Inheritance)、多态性(Polymorphism)和代码模块化等特性,以及提供可重用的代码和增强的可维护性。
2024-03-26 08:19:54
347
原创 Roslyn初探,微软即时编译软件组件
Roslyn,是微软开发的C#和VB.NET的开源编译器。最近一直在研究组态软件(scada),组态软件的价值极其客观,且功能非常强大,但是同时对技术的要求也非常高。其中一项技术——即时编译是无法绕过的一个技术点,本文记录这项技术的同时,也是一种分享。希望有共同兴趣的程序员一起加入,一起学习。即时编译概念:即把文本编译成软件,甚至可以立刻在软件上使用起来。Roslyn 支持 C# 和 VB.NET 两种编程语言。1.创建一个wpf项目,界面及其代码如下代码。
2024-02-28 20:24:13
567
原创 C#开发中关于Task后台进程的解读
基本上,C#软件开发都会涉及线程的开发。线程是一个非常好的工具,C#早期用的最多的是Thread,现在建议大家用Task。本文主要介绍Task的功能。
2023-12-25 19:16:18
1561
原创 解决同时引用一个dll的多个版本冲突的问题(HslCommunication为例)
最近碰上一个问题,一个项目同时引用的好几个不同版本的dll——HslCommunication.dll。而且这几个dll是互相不兼容的。
2023-12-09 09:33:31
1658
原创 C#开发中的多线程调用方法导致内部数据混乱问题分析,以及静态类、动态类、静态方法、动态方法的区别
静态类:在C#中,静态类是不能被实例化的,也就是说你不能使用new关键字来创建它的对象。它的所有成员都必须是静态的。静态类在内存中只有一个实例,且在全局可访问。动态类:动态类可以被实例化,可以创建多个不同的对象。每个对象都有自己的数据成员和方法。
2023-09-14 13:38:06
1074
原创 软件设计基础:7.面向对象技术
提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。适用性:一个系统要独立于它的产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置时;当要强调一系列相关的产品对象的设计以便进行联合使用时;当提供一个产品类库只想显示它们的接口而不是实现时。
2023-09-10 21:49:34
198
原创 软件设计基础:5. 系统开发基础
说到生命周期,很多开发人员并不清楚是什么,即使是从业多年的老工程师也不一定熟悉,可能只是有听过。它实际是是指软件从出生到死亡的整个过程,下面简单介绍以下生命周期:系统规划:即可行性分析阶段,在这个阶段,确定系统的目标和范围,进行初步的需求分析和可行性研究。系统分析:即需求分析阶段,在这个阶段,详细地了解和分析用户的需求,确定系统的具体功能和性能要求。系统设计:系统设计包括概要设计和详细设计,在这个阶段,根据系统分析的结果,设计出系统的架构、模块、接口等,形成系统设计文档。系统实现:即编码阶段。
2023-08-26 22:17:28
262
原创 软件设计基础:4. 程序设计语言基础与语言处理程序
语言分两种,所谓语言就是我们平常开发说的C#,java,c等等。我们目前接触到较多的,大部分都是编译型语言。语言类型编译型语言解释型语言解释程序编译器解释器生成目标代码是否执行目标程序直接执行边解释边执行参与执行编译器不参与执行解释器参与执行执行效率高低灵活性差强可以移植性差强词法分析:顾名思义,是对词语的分析。以二元组的方式输出,即单词种别和单词自身的值。语法分析:语法分析基于词法分析,组词成句。词法分析和语法分析是对源程序的结构进行分析。语义分析。
2023-08-09 16:41:12
648
原创 软件设计基础:3. 算法基础
算法策略是指在问题空间中随机搜索所有可能的解决问题的方法,直至选择一种有效的方法解决问题,在行政规划,数学验证及物理检测等领域有着非常重要的作用。
2023-07-29 16:14:36
273
原创 微软自研的IOC注入框架——Unity的基本使用
IOC是Inversion of Control的简写,也就是控制反转的意思。有接触过设计模式和抽象开发的工程师都应该知道这一概念。指的是软件功能的实现过程都是通过操作抽象来实现。常见的IOC框架还有AutoFac等。
2023-07-28 16:41:57
782
原创 C#IOC注入框架——Autofac的实战应用
倒转依赖是软件之一网络上有多种IOC注入框架,例如Grace、微软的Unity等,其中数Autofac最轻量,也最快。
2023-07-24 18:03:42
1090
原创 免费开源的Socket工具——SuperSocket的运用实例
写这篇文章的初衷,是要解决TCP通讯的粘包和分包问题。本人所做的项目,遇见粘包和分包的问题比较严重。粘包的解决办法很多,比如使用struck定长,增加byte长度信息进行解析等等。但是,一方面这些方法和需求有冲突,另一方面按照网络上的做法,最后都不尽如人意。所以决定用第三方的工具SuperSocket,这里总结一下这个工具的使用经验。
2023-07-14 16:17:39
2192
原创 DNSPY反编译工具,查看dll代码,修改dll代码
软件实施运维过程中经常会遇见一些问题——有软件,无代码。这个时候软件的继续开发和调试以及问题排查就成了问题。dnspy可以解决以上问题,它是反编译工具,用于调试没有源码的.net 程序。是一款.Net平台的集反编译器、程序集编辑器和调试器的利器。
2023-06-06 10:42:06
22276
13
原创 RESTful API简介、实战及其Demo(C#)分享
RESTFUL(REST,Rpresentational State Transfer)是一种特定架构风格的接口规范,采用HTTP做传输协议。它不限于某一种开发语言,C#、java等都可以实现。
2023-06-03 09:39:00
5551
3
原创 C#实现动态编程(即时编译JIT),执行本文代码,将文本转化为代码或者dll
顾名思义,动态编程就是动态的把程序代码编辑好,即时生成软件,立即使用。我们平时的编程都是静态编程,即将代码写好,生成软件之后使用。动态编程是软件写好之后,将部分代码灵活地加入到程序里面。动态编程可以运用在PAAS风格的产品里面,可以用于实现模态软件。
2023-05-20 09:35:58
1367
原创 dll合并,exe合并。ILMerge的使用详解,VS项目开发
ILMerge实例,及其实现的操作过程。dll合并,exe合并。ILMerge的使用详解,VS项目开发
2023-04-23 14:16:52
6442
原创 RabbitMQ在windows上安装部署&C#代码实现RabbitMQ通讯
RabbitMQ部署安装,已经C#代码实现通讯。从零到入门使用RabbitMQ.
2023-03-08 19:47:10
1075
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人