摘要:
问题描述 在传统的ASP.NET Web Api 应用程序开发中,我们处理全局异常的方法通常是实现一个ExceptionFilterAttribute的子类,如下: public class ErrorHandlingFilter : ExceptionFilterAttribute { publi 阅读全文
摘要:
1、这两个方法来自不同的类分别是Thread和Object,sleep方法属于Thread类中的静态方法,wait属于Object的成员方法。 2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。 3、wait,notify和notifyAll只能在 阅读全文
摘要:
博主简单数了下自己发布过的异步文章,已经断断续续 8 篇了,这次我想以 async 的返回类型为例,单独谈谈。 异步方法具有三个可让开发人员选择的返回类型:Task<TResult>、Task 和 void。 什么时候需要使用哪一种返回类型,具体情况需要具体分析。如果使用不当,程序的执行结果也许并不 阅读全文
摘要:
依赖注入是指在创建一个对象时,自动地创建它依赖的对象,并注入。大家都知道有三种途径来实现依赖注入,我这里总结一下这三种方式的优缺点: 1.构造方法注入: 优点: 在构造方法中体现出对其他类的依赖,一眼就能看出这个类需要其他那些类才能工作。 脱离了IOC框架,这个类仍然可以工作,POJO的概念。 一旦 阅读全文
摘要:
Finalize自动释放资源,Dispose()用于手动释放资源。 一. Finalize Finalize很像C++的析构函数,我们在代码中的实现形式为这与C++的析构函数在形式上完全一样,但它的调用过程却大不相同。 ~ClassName() {//释放你的非托管资源} 比如类A中实现了Final 阅读全文
摘要:
this关键字不能在静态方法的方法体(即大括号之间的部分)中使用、但是可以在参数中使用(即C#的扩展方法)。 为什么不能在方法体中使用? 答:this指的是类实例化的当前对象,静态方法是通过类调用的,不需要实例化; 既然不需要实例化,就没有当前对象;既然没有当前对象,所以不能使用this 关键字。 阅读全文
摘要:
1、ref 参数必须初始化,out 不必。 int i; SomeMethod( ref i );//语法错误 SomeMethod( out i );//通过 2、因为ref需要初始化,所以ref 可以在函数内部使用, 而out未必初始化,所以不能在函数内部使用。 public void Some 阅读全文