06---类扩展的方法。。

 1 类的扩展方法:
 2
 3 1.要求是静态类
 4 2.要求写的方法是静态方法。
 5 3.要使用this关键字,表示传进去的对象表示当前对象。
 6
 7     例子:扩展list集合的where方法比较字符串的大小。
 8     1.创建一个类,命名为ListExt.cs
 9
10     //1>创建一个静态类
11     public static Class ListExt
12     {
13         //创建一个静态方法:注意使用this关键字。
14         public static List<string> MyWhere(this List<string> list,Func<string,bool> myListExt)
15         {
16         //遍历当前的list结合,调用委托myListExt传入一个字符串,返回一个bool类型
17          List<string> strList=new List<string>();
18             foreach(var item in list)
19             {
20                 if(myListExt(item))
21                 {
22                     strList.add(item);
23                 }
24             }
25             return strList;
26         }
27     }
28
29     调用的方法。。
30     List<string> newList=new List<string>();
31     List<string> result=newList.MyWhere(a=>a.CompareTo("6")>0);
时间: 2024-10-06 19:35:24

06---类扩展的方法。。的相关文章

11.为String类扩展trim方法

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"

用GCD的方式,加载网络图片(主线程加载图片+类扩展方式)

用GCD的方式,加载网络图片(主线程加载图片+类扩展方式) 用两种方法来实现网络加载图片 方法1:实现的效果:先加载背景色灰色,两秒后加载图片 - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor=[UIColor grayColor]; //刷新UI(在主线程中刷新UI!!!) --- 一般方法 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PR

HTML扩展类的所有方法都有2个参数:

——摘自Rocky Ren 以textbox为例子 public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, IDictionary<string, Object> htmlAttributes ) public static string TextBox( this HtmlHelper htmlHelper, string name, Object value, Object h

Thinkphp编辑器扩展类kindeditor使用方法

一, 使用前的准备. 使用前请确认你已经建立好了一个Thinkphp网站项目. 1,Keditor.class.php和JSON.class.php 是编辑器扩展类文件,将他们复制到你的网站项目的ThinkPHP\Lib\ORG\Net 文件夹下. 2,editor文件夹是kindeditor的核心包.将其复制到你项目的Public文件夹下(和入口文件同级的那个Public),并在Public下再建立一个Upload文件夹,用于存放使用编辑器上传的图片. 3,KeditorAction.clas

.NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法

开篇:在上一篇中,我们了解了自动属性.隐式类型.自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类.匿名方法以及常用的扩展方法.虽然,都是很常见的东西,但是未必我们都明白其中蕴含的奥妙.所以,跟着本篇的步伐,继续来围观. /* 新语法索引 */ 1.自动属性 Auto-Implemented Properties 2.隐式类型 var 3.参数默认值 和 命名参数 4.对象初始化器 与 集合初始化器 { } 5.匿名类 & 匿名方法 6.扩展方法 7.系统内置委托 Func / Acti

mootools1.5.1使用笔记:类的创建,继承,为现有类增加新方法

1 window.addEvent('domready',function(){ 2 /* 3 新建一个Person的类,类上有 name属性和sayHello方法: 4 */ 5 var Person= new Class({ 6 initialize: function(name){ 7 this.name = name; 8 }, 9 sayHello:function(){ 10 console.log('hello,my name is '+this.name); 11 } 12 13

分类 类扩展 继承 协议 委托

分类 类扩展 继承 协议 委托 分类(Category) 不产生新类,不修改原类,但有自己的.h和.m文件 分类只能向原类中增加方法,或者重写原类的方法 声明的@property只会生成getter setter方法的声明 类.h中定义的方法必须实现,但分类.h中定义的方法,可以不实现 同名方法,分类的优先级高类别主要有3个作用:(1)将类的实现分散到多个不同文件或多个不同框架中.(2)创建对私有方法的前向引用.(类.h中未声明,但存在于.m中的私有方法,通过在分类.h中声明一下,就可以在其他类

类别和类扩展

1.在iOS中,有一种机制可以使用户在没有源码的情况下扩展类的功能,但不是通过继承,这就是类别.iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现.但类别不能添加类的属性和私有变量.类别可以用来扩展Cocoa中类的方法,也可以用来扩展用户自己的类中的方法.当我们查看系统头文件的时候能发现类似@interface NSMutableArray (NSExtendedMutableArray)的类定义,其实这就是类别的定义形式. 2.类 扩展,它

Objective-C基础7 : 类扩展(class extension)

封装的特性就是暴露公共接口给外边调用,C++通过public定义公共方法提供给外面调用,protected和private定义的方法只能在类里面使用,外面不能调用,若外面调用,编译器直接报错,对于变量也同理.OC里面类扩展类似protected和private的作用. 1.类扩展是一种特殊的类别,在定义的时候不需要加名字.下面代码定义了类Things的扩展. @interface Things () { NSInteger thing4; } @end 2.类扩展作用 1)可以把暴露给外面的可读

Kotlin教程学习-dataclass,objectclass,use函数,类扩展,socket

Kotlin提供了一些机制来扩展已有的类,如下: 还记得我们之前写过的Point3D类吗?(将其略作修改,将成员变量改为Double类型) 让我们为其扩展一个length函数 扩展的方法很简单,只要在函数名前面加上类名就行了. 这样Point3D的对象就有了一个名为length的方法. 运行的结果不出所料: 除此之外,在Kotlin中还有一些特殊的类,比如Data Class: 有些类只包含数据,不需要包含方法,就可以声明为data class,当然data class并不是不能包含方法. da