自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

陈鼎涵

我很菜 但是还算努力

  • 博客(8)
  • 收藏
  • 关注

原创 C#依赖注入常用的几种方式

1、构造器注入 通过构造器进行依赖注入 public class MyClass { private IMyInterFace _myinterface; public MyClass (IMyInterFace myinterface) { this._myinterface = myinterface; } } 2、Se...

2018-08-17 13:11:31 17026

原创 简述依赖注入(DI)控制反转(IOC)与依赖倒置(DIP)

什么是依赖? 当A类需要实例化B类后使用B类的成员才可正常工作时 我们称作A类对B类产生了依赖 什么是抽象? c#中的抽象有抽象类和接口 依赖倒置 这个概念很唬人,看起来就像是在说 把依赖倒过来 但是 依赖倒置其实指的是 [上层]不应该依赖于[下层] 它们都应该依赖于[抽象] 控制反转 也是个唬人的说法,并不是字面意思上的反转 而是 将[控制权]交给第三方 依赖注入 ...

2018-08-17 12:17:27 747

原创 6.C#async/await异步编程

async/await是一种优雅的异步实现 这里只是讲一下应该明确的重点 仅用async标记方法并不会使其本质发生改变 被async标记过之后,函数中就可使用await关键字,但是如果不使用await关键字,该方法也只是个同步方法 await关键字并不会造成线程阻塞,主线程依旧在活动 把await关键字放在耗时操作前,可以把耗时操作交给其他线程异步执行,主线程不会阻塞,然后在被标记的耗时...

2018-08-09 17:11:36 604

原创 5.C#线程管理初探

一个进程可以包含单个或多个线程 线程用Thread表示 任务代表需要执行的操作,用Task表示 线程池是多个线程的集合,决定如何向线程分配任务,用ThreadPool表示 一个任务开始时线程池分配线程来进行工作,工作完毕后解除分配 多线程有不确定性,C#中经常用lock语句(锁)进行处理,lock表示该部分的代码只能由一个线程进行处理,其它线程运行到此处时将被挂起,直到这部分代码被第...

2018-08-08 18:03:42 468

原创 4.C#委托和事件

C#中的委托是一种观察者模式的简便实现方式,可以避免大量的编码 .net内置有可以符合大部分需求的委托Func和Action Func有一个TResult返回值 而Action没有返回值 自定义委托使用delegate关键字 委托可以被一些方法订阅,订阅了委托的方法称为订阅者 使用+=操作符订阅,使用-=操作符取消订阅 事件是委托的一种安全实现 一般使用内置的EventHandle...

2018-08-08 11:45:27 256

原创 3.C#中const和readonly的区别

const是一个静态的常量,必须在创建时进行初始化且无法改变 readonly不是静态的,在创建时的初始化是可选的,并且可以在构造函数中对其进行操作 class Program { readonly static int a; const int b = 3; static Program() { ...

2018-08-08 09:53:46 182

原创 2.C#引用参数ref与输出参数out

ref与out在以下代码中都可编译成功 但是有本质上的区别 static void Test(ref int i) { i = 2; } static void Main(string[] args) { int a = 1; Test(ref a); } ref可将在Main方法中定义的参数a读取到 static void Test(ref int i) ...

2018-08-05 20:31:31 270

原创 1.C#预处理指令

这个系列只是我个人不常用的东西会集合起来记录一下 C#只支持定义常量 不支持预处理宏 /*----------------------------------------*/ //定义预处理符号 #define //取消符号定义 #undef /*----------------------------------------*/ //可用于在不同情况下加载不同代码 #if #else #el...

2018-07-30 22:55:01 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除