自学内容网 自学内容网

泛型+反射

泛型

object : 1、任何父类出现的地方,都可以用子类来代替;2、object是一切类型的父类。3、装箱(值从栈复制到堆里)拆箱(堆复制到栈里),性能问题,安全问题

2.0才出现的泛型 T  泛型方法: 声明的时候可以不指定类型,使用的时候指定类型;

泛型在编译器编译时不确定类型,占位符表达;机器码的时候类型已确定,在CLR用指定的类型把占位符替换掉了。

泛型缓存

缓存:把数据存起来,下次直接用上次的结果。

静态字段缓存,静态属性常驻内存。

Webservice   wcf  不支持泛型:服务在发布的时候 参数类型需要确认好.

泛型方法 public  void  A<T>(T t) {}: 为了一个方法满足不同的类型的需求

泛型类 public class A<T>  List<T>{} :  为了一个类满足不同类型的需求

public class AChild<T1,T2>: A<T1>,B<T2>{}

泛型接口 public  interface A<T> {}: 一个接口满足不同类型的需求

泛型委托 public delegate void A<T> {}: 一个委托满足不同类型的需求

泛型约束

public  void A (T t){}  没有约束,任何参数都能传递进来,不安全。

基类约束:public void A (T t) : where T:BaseModel{}:可以把T当作基类--权利;传入


原文地址:https://blog.csdn.net/qq_25966587/article/details/140527736

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!