1. 首页
  2. 数据库
  3. 其它
  4. C#中对于可变性的限制

C#中对于可变性的限制

上传者: 2021-01-16 16:26:06上传 PDF文件 44.33KB 热度 10次
发现很少有集中讨论C#可变性限制的中文博文(要么是一大段文字中夹杂很多凌乱的部分),所以写发篇博文,集中讨论,这些限制基本是基于安全考虑,亦或者根本难以实现而产生的。 注:本文不再解释什么是可变性,以及本文所讨论的问题都基于.NET 4至.NET 4.5。所有地方我都力求简洁。 好了,废话不说了,开始吧。 1.可变性只支持引用转换,禁止值类型转换、装箱转换(好吧其实是值类型转换)、和用户自定义类型转换。 任何可变性转换都是一种引用转换,这种转换是类型安全的,他只能操作引用类型,不会对引用的二进制表示产生影响也不会创建新的对象。 2.只有接口和委托可以有可变的类型参
用户评论