随笔分类 - Programming
摘要:
HttpContextAccessor In ASP.Net Core 2.1 https://github.com/dotnet/aspnetcore/blob/v2.1.33/src/Http/Http/src/HttpContextAccessor.cs public class HttpCo
阅读全文
![温故知新,CSharp遇见AsyncLocal,在ASP.Net Core 6.0和2.1中HttpContextAccessor前后设计变化](https://img2023.cnblogs.com/blog/375390/202303/375390-20230305002125364-1747928253.png)
摘要:
句柄(Handle)缘来 .NET提供了一个结构体System.IntPtr专门用来代表句柄或指针。 句柄是对象的标识符,当调用这些API创建对象时,它们并不直接返回指向对象的指针,而是会返回一个32位或64位的整数值,这个在进程或系统范围内唯一的整数值就是句柄(Handle),随后程序再次访问对象
阅读全文
![温故知新,CSharp遇见IntPtr,通过System.IntPtr来操作句柄(Handle)和指针](https://img2023.cnblogs.com/blog/375390/202303/375390-20230302004756812-1742801986.png)
摘要:
前言 有时候,想以最少成本的改造去记录下当前方法调用来自哪个方法,以便获取一些诊断线索。 基于Attribute获取调用方的信息 internal class MyClass { public void Test() { Log(); } public void Log ( [CallerFileP
阅读全文
![温故知新,CSharp遇见调用方信息(CallerInfo),通过Attribute、StackTrace获取调用方的信息](https://img2023.cnblogs.com/blog/375390/202212/375390-20221209154818000-2082704989.png)
摘要:
前言 今天遇到同事写了很长的代码,准备从某个位置开始替换,需要找个能从当前光标开始往后选中的办法,看到了这些快捷键,收藏下。 删除操作 删除并粘贴到剪切板 Shift + Delete 感觉和Ctrl + X是一样的效果。 删除当前行 Ctrl + Shift + L 删除光标后的单词 Ctrl +
阅读全文
![温故知新,遇见宇宙最强Visual Studio,开发常用快捷键,帮助你提高速度](https://img2023.cnblogs.com/blog/375390/202212/375390-20221201230849206-1473459524.png)
摘要:
什么是Async/Await C#中的Async和Await关键字是异步编程的核心。通过这两个关键字,可以使用.NET Framework、.NET Core或Windows运行时中的资源,轻松创建异步方法(几乎与创建同步方法一样轻松)。使用async关键字定义的异步方法简称为“异步方法”。 pub
阅读全文
![温故知新,CSharp遇见异步编程(Async/Await),通过ILSpy反编译代码,透过现象看本质](https://img2022.cnblogs.com/blog/375390/202210/375390-20221031000253059-473141624.png)
摘要:
事件和委托的区别到底是什么 委托提供了一种机制,可实现涉及组件间最小耦合度的软件设计,它是一种引用类型。 和委托类似,事件是后期绑定机制。事件是建立在对委托的语言支持之上的,它是对委托的封装,可以理解为一种特殊的委托(本质不是)。 事件是对象用于广播已发生事情的一种方式。任何其他组件都可以订阅事件,
阅读全文
![温故知新,CSharp遇见事件和委托(Event/Delegate),通过ILSpy反编译代码,透过现象看本质](https://img2022.cnblogs.com/blog/375390/202210/375390-20221030181434167-1554089950.png)
摘要:
C#类型中存在两个类别,一个是值类型,一个是引用类型。 值类型 值类型的变量包含类型的实例,默认情况下,在分配中,通过将实参传递给方法并返回方法结果来复制变量值。 值类型包括简单类型(字符型、浮点型、整型等)、枚举类型、结构型。 内置值类型 整型数值类型(int...long) 整型数值类型表示整数
阅读全文
![温故知新,CSharp遇见C#两大类型:值类型(内置、特殊)、引用类型(内置、声明)](https://img2022.cnblogs.com/blog/375390/202209/375390-20220904212042316-444435286.png)
摘要:
什么是抽象类和接口? 不同的编程语言对接口和抽象类的定义方式可能有些差别,但差别并不会很大。Java/C#这种编程语言,既支持抽象类(Abstract),也支持接口(Interface),所以,为了让你对这两个语法概念有比较直观的认识,我们拿Java这种编程语言来举例讲解。 首先,我们来看一下,在J
阅读全文
![温故知新,遇见面向对象编程(OOP),如何基于接口而非实现编程,谈抽象类(Abstract)、接口(Interface)的区别和使用场景](https://img2022.cnblogs.com/blog/375390/202208/375390-20220831011037632-2146521842.png)
摘要:
面向对象 常见编程范式:面向过程编程、面向对象编程、函数式编程 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。 面向对象编程语言是支持类或对象的语法机制,并有现成的语法机制,能方便地实现面向对象编程四大特性(封
阅读全文
![温故知新,遇见面向对象编程(OOP),四大基础特性:封装(Encapsulation)、抽象(Abstraction)、继承(Inheritance)、多态(Polymorphism)](https://img2022.cnblogs.com/blog/375390/202208/375390-20220830210153759-566422118.png)
摘要:
什么是C++中的Windows桌面应用程序 https://learn.microsoft.com/zh-cn/cpp/windows/desktop-applications-visual-cpp 用C++编写的桌面应用程序是一个本地应用程序,它可以访问全套的Windows API,并在窗口或系统
阅读全文
![乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - 使用C++创建Windows桌面应用程序](https://img2022.cnblogs.com/blog/375390/202202/375390-20220226012528116-448522730.png)
摘要:
Git常用命令 源代码工具 | 工具名称 | 相关地址 | |: :|: | | Git | Git for Windows | | VSC | Visual Studio Code | | VSC插件(Gitlen) | GitLens — Git supercharged | 分支的新建与合并
阅读全文
![温故知新,遇见源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)](https://img2018.cnblogs.com/blog/375390/202002/375390-20200222133235982-720477659.png)