NET3.5中的扩展方法,DEMO直接通过IEnumerable<T>来自定义调用过滤方法

namespace ConsoleApplication2
{
public static class Filter
{
public static IEnumerable<string> ForUser(this IEnumerable<string> qry, string userName)
{
return from a in qry
where
a.Contains(userName.ToLower())
select a;
}

/// <summary>
/// 自定义起用调用static方法过滤
/// </summary>
public static void CustExample()
{
IEnumerable<string> x = new List<string> { "1", "zzq", "good" }; //为对象赋值
foreach (var item in x.ForUser("zzq"))
{
Console.WriteLine(item);
}
}

}
}

时间: 2024-10-18 12:53:59

NET3.5中的扩展方法,DEMO直接通过IEnumerable<T>来自定义调用过滤方法的相关文章

webservice方法内用了session,asp.net调用时注意问题

可搜索相关:ASP.NET WebService 中使用 ASP.NET_SessionId 当前问题是:我们写了WebService给客户调用,第一个方法是登陆,传入用户名和密码,成功后在Webservice内会用session保存当前登陆的用户,登陆成功后调用第二个方法查询数据,会判断session是否存在当前登陆的用户. 调用问题:登陆没有问题.但是调用查询数据方法总是有错误. 问题分析:调用登陆方法后,session是存在服务器端的,会像客户机器写入cookie,cookie内存的是服务

22.调用delay()方法延时执行动画效果

delay()方法的功能是设置一个延时值来推迟动画效果的执行,它的调用格式为: $(selector).delay(duration) 其中参数duration为延时值,它的单位是毫秒,当超过延时值时,动画继续执行. 例如,当页面中图片动画正在执行时,点击“延时”按钮调用delay()方法推迟2000毫秒后继续执行,如下图所示: 在浏览器中显示的效果: 从图中可以看出,当图片动画正在执行时,点击“延时”按钮,调用delay()方法中止当前正在执行的图片动画效果,当超过设置的延时值时,动画效果继续

Javascript的私有变量和方法、共有变量和方法以及特权方法、构造器、静态共有属性和静态共有方法

一.私有变量:定义在函数内部的属性和方法称之为该函数的私有属性和方法        共有变量:在函数内部通过this创建的对象和方法称之为该函数的共有属性和方法 特权方法:通过this创建的既可以访问该函数的共有属性和方法,也可以访问该函数的私有属性和方法称之为特权方法 构造器:对象在创建的时候调用特权方法来初始化实例的属性,这个方法也称为构造器 /** * 类的内部私有属性.私有方法.特权方法.共有属性和共有方法以及构造器 * @param id * @param bookname * @pa

js原型链继承及调用父类方法

function Rect(config){} Rect.prototype.area = function(){ alert("我是父方法"); } function myRect(config){ arguments.callee.prototype.constructor.prototype.area(); //子类里调用父方法area arguments.callee.prototype.area();//子类里调用重载方法area } myRect.prototype = n

C#中的扩展方法学习总结

??版权声明:本文由秦元培创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为秦元培,本文标题为C#中的扩展方法学习总结,本文链接为http://qinyuanpei.com/2015/12/05/extend-methods-of-csharp/. ??各位朋友大家好,我是秦元培,欢迎大家关注我的博客.最近偶然接触到了C#中的扩展方法,觉得这个语法特性是一个不错的特性,因此决定在这里系统地对C#中的扩展方法相关内容进行下

objective-C中的扩展方法与partial class

在c#中要扩展一个现有类很容易,比如这样: ? 1 2 3 4 5 6 7 public static class Utils {     public static void PrintToConsole(this string strSrc)     {         Console.WriteLine(strSrc);     }   } 这样就为String类添加了一个PrintToConsole的方法,使用方法如下: ? 1 2 3 4 5 6 7 class MainClass {

C#中的扩展方法及用途

GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=476 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方法的描述,现在我通过一个情景例子来对此进行阐释.假设一个控制台程序cla

C#中的扩展方法

在java中没有这样的东西,一个类一旦是 final的 ,这个类就不能再被添加方法, 但是C#能够做到,可以给 sealed 类添加新的方法,这点我还是比较喜欢c#的. 这就是C#中的扩展方法. 那么什么情况下我们才需要去给一个类写扩展方法呢? 系统自带的类型,我们无法去修改: 修改源代码需要较大的精力,而且可能会带来错误: 我们只是需要一个或者较少的几个方法,修改源代码费时费力: 被扩展的类是sealed的,不能被继承:(就算不是sealed的,我们也不能因为需要一个方法而去写一个子类,这样不

记录C#中的扩展方法

C#中的扩展方法. 系统自带的类型,我们无法去修改: 修改源代码需要较大的精力,而且可能会带来错误: 我们只是需要一个或者较少的几个方法,修改源代码费时费力: 被扩展的类是sealed的,不能被继承:(就算不是sealed的,我们也不能因为需要一个方法而去写一个子类,这样不是面向对象) 扩展方法的三个要素: 扩展方法必须处于一个静态类中: 扩展方法必须是一个静态方法: 扩展方法的参数列表必须以 this 开头,this 后面紧跟的是被扩展类,然后才是方法需要的参数: