Microsoft.Extensions.DependencyInjection 阅读笔记

1、 关于IServiceCollection接口的设计spa

 public interface IServiceCollection : IList<ServiceDescriptor>
    {
    }

a. 为何不直接用List<>集合,而要从新定义一个这样的IServiceCollection接口呢?设计

1. 为了从IList<>那里获得全部的List集合的可重载方法;
2. 有了自已的名字IServiceCollection,而不是List<>这样直接使用,若是直接继承了List<>的话,那么在使用的时候,你用这个List<>根本就不知道这是干啥的,而且还要带上参数;调试

 

 2、关于调试时的跟踪code

[DebuggerDisplay("Lifetime = {Lifetime}, ServiceType = {ServiceType}, ImplementationType = {ImplementationType}")]
 public class ServiceDescriptor

a. 加上DebuggerDisplay特性,而后用{}把属性名称显出来了便可,在跟踪Stack中你就能看到想要显示的效果了。blog

 

 

 

 

未完.....继承

相关文章
相关标签/搜索