码迷,mamicode.com
首页 > Windows程序 > 详细

#读书笔记#Illustrated C# 2012第17章 Generics泛型(2)

时间:2015-12-10 11:30:23      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:illustrated c#   generics 泛型

=================

4、泛型方法Generic Methods 

Unlike the other generics, a method is not a type but a member. You can declare generic methods in both generic and nongeneric classes, and in structs and interfaces.

技术分享

4.1、Declaring a Generic Method

Generic methods have a type parameter list and optional constraints. 

 Generic methods have two parameter lists: 

  •  The method parameter list, enclosed in parentheses. 

  •  The type parameter list, enclosed in angle brackets. 

 To declare a generic method, do the following: 

Place the type parameter list immediately after the method name and before the method parameter list

Place any constraint clauses after the method parameter list.

技术分享

Note:Remember that the type parameter list goes after the method name and before the method parameter list.


4.2、Invoking a Generic Method 

To invoke a generic method, supply type arguments with the method invocation

技术分享

4.3、Extension Methods with Generic Classes 

Extension methods work just as well with generic classes. They allow you to associate a static method in one class with a different generic class and to invoke the method as if it were an instance method on a constructed instance of the class. 


As with nongeneric classes, an extension method for a generic class must satisfy the following constraints: 

  1.  It must be declared static. (方法是静态的)

  2.  It must be the member of a static class. (类是静态)

  3.  It must contain as its first parameter type the keyword this, followed by the name of the generic class it extends. 


=================

5、泛型结构Generic Structs

Like generic classes, generic structs can have type parameters and constraints. The rules and conditions for generic structs are the same as those for generic classes. 


=================

6、泛型委托Generic Delegates 

Generic delegates are very much like nongeneric delegates, except that the type parameters determine the characteristics of what methods will be accepted. 

 To declare a generic delegate, place the type parameter list in angle brackets after the delegate name and before the delegate parameter list.(位置)

 

 Notice that there are two parameter lists: the delegate formal parameter list and the type parameter list. (两处parameter list)

 The scope of the type parameters includes the following: 

 The return type 

 The formal parameter list 

 The constraint clauses


=================

7、泛型接口Generic Interfaces 

Generic interfaces allow you to write interfaces where the formal parameters and return types of interface members are generic type parameters. Generic interface declarations are similar to nongeneric interface declarations, but have the type parameter list in angle brackets after the interface name. 


generic type declaration + type arguments --> a constructed type


#读书笔记#Illustrated C# 2012第17章 Generics泛型(2)

标签:illustrated c#   generics 泛型

原文地址:http://lsieun.blog.51cto.com/9210464/1721357

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!