摘要: 1. 基本概念 官方:协变和逆变都是术语,前者指能够使用比原始指定的派生类型的派生程度更大(更具体的)的类型,后者指能够使用比原始指定的派生类型的派生程度更小(不太具体的)的类型。[MSDN] 公式: 协变:IFoo<父类> = IFoo<子类>; 逆变:IBar<子类> = IBar<父类>; 暂 阅读全文
posted @ 2019-08-28 12:04 Virgil-Zhou 阅读(10037) 评论(20) 推荐(33) 编辑
摘要: 1. out 变量(out variables) 以前我们使用out变量必须在使用前进行声明,C# 7.0 给我们提供了一种更简洁的语法 “使用时进行内联声明” 。如下所示: 上面代码编译后: 原理解析:所谓的 “内联声明” 编译后就是以前的原始写法,只是现在由编译器来完成。 备注:在进行内联声明时 阅读全文
posted @ 2017-04-09 17:21 Virgil-Zhou 阅读(26082) 评论(33) 推荐(95) 编辑
摘要: 1. 只读自动属性(Read-only auto-properties) C# 6之前我们构建只读自动属性: 原理解析:就是编译器在生成set访问器时,它的修饰符是private,由上可知所谓的只读只是针对类外部,在类内部还是可以随意修改属性值的。 C# 6中提供了真正的只读自动属性,写法如下: 原 阅读全文
posted @ 2017-03-05 20:40 Virgil-Zhou 阅读(3555) 评论(13) 推荐(18) 编辑