创建支持多个dotnet版本的类库项目

如何创建支持支持多个 dotnet 版本的类库项目开发中,经常会遇到需要所开发的类库同时支持 net40 、 net451 、 netstandart2.0 等版本。随意打开一些常用的开源项目比如“Dapper”就会发现,项目并不会针对不同的 dotnet 版本,创建不同分支,而是一套代码支持了多个

线程与线程池

ThreadThread 是前台线程,启动后需要执行完成后才会退出。但是可以通过 IsBackground 将其设置为后台线程,程序退出该线程也会立即退出。如果希望等待线程执行完成后再继续执行,可以使用 Join() 方法。Thread 没有回调,也没有返回值。ThreadPoolCLR线程池:管理

异步多线程

基本概念进程首先打开任务管理器,可以查看电脑当前运行的进程。从任务管理器里面可以看到当前所有正在运行的进程。那么究竟什么是进程呢?进程( Process )是 Windows 系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或

面向对象知识点回顾

封装访问修饰符public :完全公开private :只有类内部能够访问internal :同项目中能够访问protected :类和派生类可以访问protected internal :internal和protected二者的结合封装封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集

常见序列化器

常见序列化器二进制序列化器命名空间 System.Runtime.Serialization.Formatters.Binary;//序列化using (FileStream fileStream = new FileStream(path, FileMode.Create, FileAccess.

C#中的文件操作

文件夹/文件 操作文件夹/文件检查主要是 Directory / File / DirectoryInfo / FileInfo 几个类来操作检查。注:Path是路径字符串的拼接、剪切、检查操作类,并不会执行IO操作。文件夹/文件新增Directory.CreateDirectory(path);/

匿名类型、扩展方法、var、dynamic

匿名类型C#在3.0版本以后,允许使用new关键字直接创造对象,方便我们在临时使用一特定类型时,无需单独的创建一个类:object user = new{ Id = 1, Name = "Kangkang", Age = 12};//Console.WriteL

C#中的委托与事件

委托关于委托delegate 关键字创建的类型就是 System.MuticastDelegate (多播委托),使用反编译工具可以查看, System.MuticastDelegate 是保留类不允许继承。本质上委托都是多播委托,后期定义委托只有添加了多个方法才称为多播委托。public dele

C#中的反射

dll-IL-metadata-反射C# 高级语言(人类语言) -> 编译器(编译) -> DLL/EXE (metadata(元数据)+IL(中间语言)) -> CLR/JIT -> 机器码(CPU 执行)graph LRA(C#高级语言) --> B(编译器)B -

泛型(Part 2)

泛型约束基类约束可以访问基类的属性和方法,限制以后参数类型只能是该类型或其子类。public static void GenericMethod<T>(T t) where T :GenericClass{}接口约束可以访问接口的属性和方法,限制以后参数类型必须有实现该接口。public
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×