到底是什么反射泛型委托泛型

2016-02-19 12:23 2 1 收藏

下面是个简单易学的到底是什么反射泛型委托泛型教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

我学这些东西的时候在网络上查了很久,感觉都很专业,初学者难以理解什么时候用,也很难找到简单的介绍,稍微整理一下下: 
------------------------------------------------------------------------------------------------------------------------------------------------------------
反射 : Reflection
1. 基类调用派生类时候用
2. 在运行时才确定要调用哪个类的时候用
3. 在运行期  获取 模块 程序集 类 构造函数 属性方法的信息 以及实例化类,
    调用构造函数,属性,方法,事件,委托等通过对类型动态实例化后,还可以用反射对其执行操作
4. 如果在写代码的时候就能确定要调用的是哪个类,那直接调用当然好了。
   但很多场合(也许是为了通用性),要在运行期才能够决定需要调用的类型,那样就有必要用反射来取得类型的相关信息了

简单来说就是用string可以在runtime为所欲为的东西,实际上就是一个.net framework内建的万能工厂
------------------------------------------------------------------------------------------------------------------------------------------------------------
  泛型 :
1. 减少装箱拆箱,性能高 2. 类型安全 3. 工作效率提高
可是谁知道怎么简单的描述他?
------------------------------------------------------------------------------------------------------------------------------------------------------------
  缓存 - 缓存依赖 :
1. 当用户再次访问这个网页的时候,被格式化好的HTML会被直接送显。 速度快
2. 依赖于数据源,数据源发生更改时重新生成缓存,数据源可以是文件,数据库等

一般来说优化网站时候用
--------------------------------------------------------------------------------------------------------------------------------------------------------------
  委托 :
1. 委托是可以申明的类型,方法看做委托的实例 ,所以说方法可以传递滴!
      (将方法作为参数传递),可以避免在程序中大量使用If-Else(Switch)等语句,同时使得程序具有更好的可扩展性。
2. 使用委托可以将多个方法绑定到同一个委托的变量上( +=  或 -=)
3. 一个事件不管是不是声明为public,但是它实际上都是private,私有变量是不可以直接用等号(=)的,也就是说事件用=号来绑定一个函数是不好滴
   所有一般用封装了的 += , -= 实际上 += 对应 add_XXX()方法, -=对应 remove_XXX()方法。
4.  返回值都为void
  如果定义了返回值,那么多个订阅 者的方法都会向发布者返回数值,结果就是后面一个返回的方法值将前面的返回值覆盖掉了,
  因此,实际上只能获得最后一个方法调用的返回值。
5.委托相当于C中的指针,它是类型安全的
委托相当于老板,老板可以随意支配许多员工做事,一个委托也可以绑定N多函数。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1600766.html

延伸阅读
泛型编程-转移构造函数(Generic Programming: Move Constructor) 作者:Andrei Alexandrescu 提交者:eastvc 发布日期:2003-9-20 10:07:17 原文出处:http://www.cuj.com/experts/2102/alexandr.htm 编译:死猫 校对:Wang Tianxing 1 引言 我相信大家很了解,创建、复制和销毁临时对象是C++编译器最爱的户内运动。不幸的是,这些行为...
Boost中应用的泛型编程技术 作者:David Abrahams 提交者:eastvc 发布日期:2003-9-20 10:16:13 原文出处:http://www.cpphelp.net/issue/gpt.html 译者:Merlin Ran 英文原文: http://www.boost.org/more/generic_programming.html 1、何谓泛型编程 泛型编程(Generic Programming)关注于产生通用的软件组件,让这些组件在不同的...
介绍 很多有着不同开发背景得人都会比较熟悉单例模式。他们会发现每次他们要创建一个不同的单例类的时候,都不得不写同样得代码。使用新的C# 2.0的泛型,可以实现只写一次同样得代码。 使用 C# 2.0 泛型来完成单例模式的重用 使用 C# 2.0 的泛型,使得实现我所说的"单例提供者"成为可能。这是一个可用来创建单例...
接口 某些时候,让不相关的类分享一组公有成员,以便产生相同的行为,是非常有用的。一个最基本的方法可能是通过一个公共的基类来定义它们,但这种方法太受局限,因为它要求这些类通过继续而互相关联,另外,它们也许还有着各自的基类,且CLI类型只支持单一类继续。 C++/CLI提供了一种方法,可利用多个类实现一组通用的功能,...
1、不可以用一个本地类型(如int float)来替换泛型 2、运行时类型检查,不同类型的泛型类是等价的(Pair与Pair是属于同一个类型Pair),这一点要非凡注重,即假如a instanceof Pair==true的话,并不代表a.getFirst()的返回值是一个String类型 3、泛型类不可以继续Exception类,即泛型类不可以作为异常被抛出 4、不可以...

经验教程

180

收藏

59
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部