转载:C#中的泛型摘自:http://birdshover.cnblogs.com/articles/392127.html泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(type parameters)的概念。类型参数使得设计类和方法...
[csharp]view plaincopypublic class Reflect where T : class{ 这是参数类型约束,指定T必须是Class类型。.NET支持的类型参数约束有以下五种:where T : struct | T必须是一个结构类型wher...
分类:
其他好文 时间:
2015-08-12 18:22:11
阅读次数:
117
写在前面的话:关于remote service中使用aidl来实现跨进程,多线程通信,我是参考了三篇文章,大概把这个弄明白了。
(1)android 官方关于aidl的说明文档
docs/guide/components/aidl.html
(2)Android学习笔记23服务Service之AIDL和远程服务实现进程通信以及进程间传递自定义类型参数
http://blog.csdn.net...
分类:
移动开发 时间:
2015-08-12 01:22:04
阅读次数:
220
本节主要内容
协变
逆变
类型通匹符
1. 协变
协变定义形式如:trait List[+T] {} 。当类型S是类型A的子类型时,则List[S]也可以认为是List[A}的子类型,即List[S]可以泛化为List[A]。也就是被参数化类型的泛化方向与参数类型的方向是一致的,所以称为协变(covariance)。
为方便大家理解,我们先分析java语言中为什么不存在协变及下一...
分类:
其他好文 时间:
2015-08-09 17:13:54
阅读次数:
186
本节主要内容
上下文界定(Context Bound)
多重界定
类型约束
型变
1. 上下文界定在第十七节中的类型参数(一)中,我们提到视图界定可以跨越类继承层次结构,其后面的原理是隐式转换。本节要介绍的上下文界定采用隐式值来实现,上下文界定的类型参数形式为T:M的形式,其中M是一个泛型,这种形式要求存在一个M[T]类型的隐式值:case class Person(val name:String)...
分类:
其他好文 时间:
2015-08-08 18:22:31
阅读次数:
128
Callable 接口是一个具有类型参数的泛型,它的 call() 方法返回一个泛型,并且可以抛出异常。必须使用 ExecutorService#submit() 方法调用它。 1 public class TaskWithResult implements Callable { 2 3 ...
分类:
其他好文 时间:
2015-08-08 16:29:37
阅读次数:
223
简单类型参数: url读取(string,bool,int...)复杂类型参数:从message body用media-type formatter读取url读取route data(路由解析uri的时候得到)和URI query string强制复杂类型从uri获取public class Geo...
函数模板函数模板就是功能相似的函数写成统一的形式,但是函数的形参类型不同。函数模板的定义:template 或者 template类型名 函数名 (参数名){函数体的定义}函数模板都是以关键字template 开始的,中的是类型参数表,每个类型参数,例如上文的“T“,代表的是类型,可以是内部类型(?...
分类:
其他好文 时间:
2015-08-07 22:00:50
阅读次数:
107
java泛型什么是泛型?泛型(Generic type 或者 generics)是对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。可以在集合框架(Collection ...
分类:
编程语言 时间:
2015-08-07 18:32:48
阅读次数:
94
OC Block其实功能就类似C语言的函数指针,js中的闭包之类的。把代码块当做一个变量就行操作,有自己的变量和作用域。简单看一下Block的语法和可能出现的问题:Block语法:block语法相对宽松,很多部分都可以省略,常规上我们实现一个block需要有以下几个部分^ 返回值类型 参数列表 表达...
分类:
其他好文 时间:
2015-08-06 20:17:02
阅读次数:
88