PostSharp 中 AOP 功能的简单使用

PostSharp 中 AOP 功能的简单使用

独立观察员 2021 年 2 月 21 日

 

年前在研究 .NET 中如何实现 AOP(Aspect-Oriented Programming,面向切面的编程)时看到了一篇叫做《C# 进阶系列 ——AOP?AOP!》的文章,作者在文章中介绍了静态拦截(装饰器模式)、动态代理(使用微软企业库)、IL 编织(使用 PostSharp)三种方式;而在作者提供的源码中,则是提供了前两者以及另外一种动态代理(使用 .Net Remoting / RealProxy)共三种方式;本人在原代码的基础上,改控制台测试程序为 Winform 测试[……]

全文阅读

【分享】C# 字节帮助类 ByteHelper

【分享】C# 字节帮助类 ByteHelper

独立观察员 2021年2月3日

本文分享一个 C#字节(Byte)帮助类(ByteHelper),主要是一些字节、字节数组十六进制、十六进制字符串等之间的转换操作,适用场景包括但不限于对于 M1 卡区块的读写时的数据转换等操作。

代码来源于网络,本人整理重构、仔细阅读代码并添加了较为详细的注释,一切说明见代码和注释,就不再赘述了,有不对的地方欢迎大家指出。

下面就是全部代码:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
using System;
using System.Collections.Generic;
/*
* 源码己托管: http://gitee.c[......]<p class="read-more"><a href="https://dlgcy.com/csharp-bytehelper/">全文阅读</a></p>
using System; using System.Collections.Generic; /* * 源码己托管: http://gitee.c[......]<p class="read-more"><a href="https://dlgcy.com/csharp-bytehelper/">全文阅读</a></p>
using System;
using System.Collections.Generic;
/*
 * 源码己托管: http://gitee.c[......]

全文阅读

C# 在自定义的控制台输出重定向类中整合调用方信息

C# 在自定义的控制台输出重定向类中整合调用方信息

独立观察员 2021 年 1 月 6 日

 

一、前言

众所周知,在 .NET 的控制台应用程序(就是那种小黑框程序)中输出信息,使用的是控制台输出方法 Console.Write (“消息”) 或 Console.WriteLine (“消息”),这两个方法称为标准输出。而在 Winform、WPF、网页程序中,使用这种方法输出的信息是没有地方显示的,在这些程序中,我们一般把信息输出到相应的显示控件中,或者写入日志中。

 

比如我这有个 Winform 测试程序,相关按钮的后台逻辑就是向控制台输出 “哈哈哈”[……]

全文阅读

利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具

利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具

独立观察员 2020 年 12 月 26 日

 

前一段看到微信公众号 “码农读书” 上发了一篇文章《如何使用 C# 中的 FileSystemWatcher》(翻译自:https://www.infoworld.com/article/3185447/how-to-work-with-filesystemwatcher-in-c.html ),其中简述了使用 FileSystemWatcher 进行文件系统变更监测的方法,本人受此启发,决定制作一个文件夹变动监控的小工具,当作练手和自用。目前[……]

全文阅读

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号

独立观察员 2020 年 12 月 24 日

 

之前 .NET Framework 时,项目版本号等信息是存储在 AssemblyInfo.cs 文件中,通过程序集特性进行设置:

 

.NET Core 之后,.NET 项目采用了新式的 SDK-Style 模式,将这些版本信息之类的也包含在项目文件里了,默认不再生成和使用 AssemblyInfo.cs 文件,而且如果你将这个文件添加上并填写相关信息,会提示有重复,编译不通过。虽然也有方法来恢复以前使用 Assembly[……]

全文阅读

WPF 使用 Expression Design 画图导出及使用 Path 画图

WPF 使用 Expression Design 画图导出及使用 Path 画图

独立观察员 2020 年 11 月 21 日

 

一、软件介绍

最近接触到一个流程图画图软件,基本功能都有,但是不确定其中的提供的流程图完不完整,于是到在线画图网站 ProcessOn 上看了下。

 

果然是缺少了几项,比如这个 “注释”:

 

那么在 WPF 中如何添加图形呢?一种自然是使用图片,另一种则是使用 WPF 的 Xaml 语法生成图形,之前提到的软件是使用后者,本文探讨的也是这种。

 

使用代码(Xaml)生成图形毕竟也不是那么容易[……]

全文阅读

Winform 进度条弹窗和任务控制

Winform 进度条弹窗和任务控制

独立观察员 2020 年 11 月 17 日

 

最近要给一个 Winform 项目添加功能,需要一个能显示进度条弹窗,还要求能够中止任务,所以就做了一个,在此做个记录总结。虽然用的是比较老的 Winform 技术,不过其中的原理都是相通的。

 

一、弹窗前台

首先提供一个 Winform 控件居中的小技巧:

将控件放在 TableLayoutPanel 容器中,然后将控件的 Anchor 属性设置为 None,这样控件就能在容器中居中了:

 

将容器的 Anchor 属性设置为 Top, Left,[……]

全文阅读

WordPress 网站使用 “微信机器人高级版” 插件连通微信公众号

WordPress 网站使用 “微信机器人高级版” 插件连通微信公众号

独立观察员  2020 年 11 月 3 日

一、安装插件

需要安装插件 “微信机器人高级版” 及其配套组件 “WPJAM BASIC”:

 

安装完后会在仪表盘侧边栏添加菜单,初始时应该只会显示 “公众号设置” 页面:

 

二、微信公众号设置

进入微信公众平台(https://mp.weixin.qq.com/),也就是微信公众号管理后台,进入 “开发 – 基本设置” 界面,可以获取 AppID、AppSecret:

 

将这两项填入微信机器人高级版的公众号设[……]

全文阅读

[读书笔记] 《修炼之道:.NET 开发要点精讲》

修炼之道:.NET 开发要点精讲》

作者:周见智;博图轩

第 1 章 另辟蹊径:解读.NET

1.7 本章思考 > 位置 465

1. 简述. NET 平台 中 CTS、 CLS 以及 CLR 的 含义 与 作用。

A: CTS 指 公共 类型 系统, 是. NET 平台 中 各种 语言 必须 遵守 的 类型 规范; CLS 指 公共 语言 规范, 是. NET 平台 中 各种 语言 必须 遵守 的 语言 规范; CLR 指 公共 语言 运行时, 它是 一个 虚拟 机,. NET 平台 中 所有 的 托管 代码 均需 要在 CLR 中 运行, 可将 其 视为 另外 一[……]

全文阅读

浙江云泊科技有限公司欠薪情况

浙江云泊科技有限公司欠薪情况

独立观察员

(本文依据亲身经历写成,且会根据事件进展随时更新,所以应该无任何理由需要删除。如果在某种情况下本文需要删除,期间因传阅、发布、搜索引擎收录及快照、他人转载等情况,产生的影响由公司及相关人员自行承担,本人概不负责。)

 

最新进展(更新于2023年12月06日)

仲裁调解方案:2020年12月31日前支付第一笔(五分之一),2021年1月21日前支付第二笔(五分之二),2021年2月9日前支付最后一笔(五分之二)

当前结果:拖欠 7 月、8 月、9 月三个月全月工资,以及 10 月的 13 天工资,公积金 7、8、9 月未到账。

强制[……]

全文阅读