c#中的扩展方法详解
2018/2/21 10:27:06

  c#的扩展方法是让我们轻易的扩展一个类型,比如int,string,自定义的一个类,可以在不用重新编译和修改原来的代码的情况下轻松的为原来的类型增加新的行为(函数或属性)。扩展方法是从.net 3.5开始推出的。所以要使用这个特性必须要求.你的类库使用的是net 3.5及以上。下面看一个简单的例子

public static class Extensions
{
    public static string GetFirstThreeCharacters(this String str)
    {
        if(str.Length < 3)
        {
            return str;
        }
        else
        {
            return str.Substring(0,3);
        }
    }
}

以上扩展方法是获取一个字符串的前3个字符。使用方法:
string str="HelloWorld";
str = str.GetFirstThreeCharacters();
最后,扩展方法其实有三个关键的地方。
一、要是一个静态类,

二、方法是public 静态方法,

三、方法的参数签名是this+要扩展的类型。

其实在.net的自带的类库中已经有很多地方都用到了扩展方法,尤其是linq中。比如:

List的OrderBy,Average,Max等等。选中List的OrderBy,按F12查看会看到以下代码:

可以看到全是扩展方法,我们之所以能用方法的对List进行排序,查找最大值,全是这些内置的扩展方法的功劳。清楚C#的扩展方法之后你自己也可以适合自扩展方法,在不改变破坏原来的代码的前提下。

    山西恩驰森迪软件开发有限公司作为运城地区少有的几家运城软件开发公司中的一家,无论是在运城手机APP开发运城微信二次开发运城网页制作等方面都有很好的技术水平,未来我们将发展的更大、更好,欢迎大家前来咨询!


(点击次数:

为什么选择我们?

Why Choose Us

15年软件开发服务,提供全方位互联网服务。公司成立以来发展迅速,业务不断发展壮大,致力于互联网品牌建设与网络营销,专业领域包括软件开发、网站建设、APP开发、微信开发、软件渠道代理、系统集成、电子商务、网站策划、电子产品等相关类别,我们拥有良好的社会声誉和对产品和专业技术的不断追求。

我们一直结合社会发展,紧跟时代,不断地创新,与其他网站建设及系统开发公司不同,我们的整合解决方案结合了我们网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供一体化全方位的互联网品牌整合方案,以最专业的精神为您提供安全、经济、专业、省心的服务。 我们将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴。

专业、高效、责任