`
ijavagos
  • 浏览: 1242782 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【WP7进阶】——扩展框架组件

 
阅读更多

组件描述

该组件为Windows Phone 7 本身C#框架扩展了一系列方法,可以使你在编写代码的时候减少重复复制,并且增加了许多通用功能,使你的编写代码的时候可以更加流畅和得以应手。

扩展类别

该组件是将我们日常常用到的数据类型或者集合等操作再一次封装成易于使用的静态方法,分类为如下几大类:

  • String 字符串扩展
  • DateTime 日期扩展
  • Guid 全局唯一标识符扩展
  • IEnumerable 集合扩展
  • Object 对象扩展
  • Stream 流扩展
  • Uri 统一资源标识符扩展
  • Bool 真假“是否”扩展
  • Int 整型扩展

扩展方法体

以下为每个静态类的扩展方法列表

StringExtensions

静态方法成员截图:

Format 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticstringFormat(thisstringself,paramsobject[]args)
{
if(self==null)
{
thrownewArgumentNullException("format");
}
returnstring.Format(self,args);
}




HasValue 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolHasValue(thisstringself)
{
return!string.IsNullOrEmpty(self);
}

IsNullOrEmpty代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsNullOrEmpty(thisstringself)
{
returnstring.IsNullOrEmpty(self);
}

IsValidEmailAddress代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsValidEmailAddress(thisstringself)
{
Regexregex
=newRegex(@"^[/w-/.]+@([/w-]+/.)+[/w-]{2,4}$");
returnregex.IsMatch(self);
}

Split 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticIEnumerable<string>Split(thisstringself,charseparator)
{
returnself.Split(newchar[]{separator});

}

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticIEnumerable<string>Split(thisstringself,stringseparator)
{
returnself.Split(newstring[]{separator},StringSplitOptions.None);
}

ToInt 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticintToInt(thisstringself)
{
intnum;
if(!int.TryParse(self,outnum))
{
thrownewInvalidOperationException("Valueisnotvalid.");
}
returnnum;
}


Trim 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticstringTrim(thisstringself,charcharacter)
{
returnself.Trim(newchar[]{character});
}

DateTimeExtensions

静态方法成员截图:

AddWeek 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticDateTimeAddWeek(thisDateTimedateTime)
{
returndateTime.AddDays(7.0);
}

ToUnixTimestamp代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticlongToUnixTimestamp(thisDateTimedate)
{
DateTimetime
=newDateTime(0x7b2,1,1,0,0,0);
TimeSpanspan
=(TimeSpan)(date-time);
return(long)span.TotalSeconds;
}

Tip:上面的time 是1/1/1970 12:00:00 AM

GuidExtensions

静态方法成员截图:

IsGuidEmpty 代码 :

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsGuidEmpty(thisGuidself)
{
return(self==Guid.Empty);
}

RemoveHyphen 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticstringRemoveHyphen(thisGuidself)
{
returnself.ToString().Replace("-","");
}

IEnumerableExtensions

静态方法成员截图:

ExistsIn<T> 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolExistsIn<T>(thisTobj,IEnumerable<T>collection)
{
returnEnumerable.Contains<T>(collection,obj);
}

ForEach<T> 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticvoidForEach<T>(thisIEnumerable<T>sequence,Action<T>action)
{
if(sequence==null)
{
thrownewArgumentNullException("Thesecuenceisnull!");
}
if(action==null)
{
thrownewArgumentNullException("Theactionisnull!");
}
foreach(Tlocalinsequence)
{
action(local);
}
}

IsNullOrEmpty 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsNullOrEmpty<T>(thisIEnumerable<T>obj)
{
if(!obj.IsNull())
{
return(Enumerable.Count<T>(obj)==0);
}
returntrue;
}

ToObservableCollection<T> 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticObservableCollection<T>ToObservableCollection<T>(thisIEnumerable<T>source)
{
ObservableCollection
<T>observables=newObservableCollection<T>();
source.ForEach
<T>(newAction<T>(observables.Add));
returnobservables;
}

ObjectExtensions

静态方法成员截图:

In 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIn(thisobjectself,IEnumerableenumerable)
{
return(enumerable.IsNotNull()&&Enumerable.Contains<object>(Enumerable.Cast<object>(enumerable),self));
}

IsNotNull 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsNotNull(thisobjectself)
{
return(self!=null);
}

IsNull 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsNull(thisobjectself)
{
return(self==null);
}

NullTolerantEquals 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolNullTolerantEquals(thisobjectself,objectobj)
{
if(self.IsNull()&&obj.IsNotNull())
{
returnfalse;
}
if(self.IsNotNull()&&obj.IsNull())
{
returnfalse;
}
return((self.IsNull()&&obj.IsNull())||self.Equals(obj));
}

StreamExtensions

静态方法成员列表截图:

EqualsStream 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolEqualsStream(thisStreamoriginalStream,StreamstreamToCompareWith)
{
returnoriginalStream.EqualsStream(streamToCompareWith,Math.Max(originalStream.Length,streamToCompareWith.Length));
}


<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolEqualsStream(thisStreamoriginalStream,StreamstreamToCompareWith,longreadLength)
{
originalStream.Position
=0L;
streamToCompareWith.Position
=0L;
for(inti=0;i<readLength;i++)
{
if(originalStream.ReadByte()!=streamToCompareWith.ReadByte())
{
returnfalse;
}
}
returntrue;
}

ReadAllText 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticstringReadAllText(thisStreamstream)
{
using(StreamReaderreader=newStreamReader(stream))
{
returnreader.ReadToEnd();
}
}

ToByteArray 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticbyte[]ToByteArray(thisStreamstream)
{
MemoryStreamwriteStream
=newMemoryStream();
StreamHelper.CopyStream(stream,writeStream,
true);
returnwriteStream.ToArray();
}

UriExtensions

静态方法成员列表截图:

Parameters 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticDictionary<string,string>Parameters(thisUriself)
{
if(self.IsNull())
{
thrownewArgumentException("Urican'tbenull.");
}
if(string.IsNullOrEmpty(self.Query))
{
returnnewDictionary<string,string>();
}
if(CS$<>9__CachedAnonymousMethodDelegate2==null)
{
CS$
<>9__CachedAnonymousMethodDelegate2=newFunc<string,string>(null,(IntPtr)<Parameters>b__0);
}
if(CS$<>9__CachedAnonymousMethodDelegate3==null)
{
CS$
<>9__CachedAnonymousMethodDelegate3=newFunc<string,string>(null,(IntPtr)<Parameters>b__1);
}
returnEnumerable.ToDictionary<string,string,string>(self.Query.Substring(1).Split(newchar[]{'&'}),CS$<>9__CachedAnonymousMethodDelegate2,CS$<>9__CachedAnonymousMethodDelegate3);
}

BoolExtensions

静态方法成员列表截图:

IsFalse 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsFalse(thisboolself)
{
return!self;
}

IsTrue 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsTrue(thisboolself)
{
returnself;
}


IntExtensions

静态方法成员列表截图:

IsWithin 代码:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->publicstaticboolIsWithin(thisintself,intminimum,intmaximum)
{
if(minimum>maximum)
{
thrownewArgumentException("minimummustbeoflessvaluethanmaximum.");
}
return((self>=minimum)&&(self<=maximum));
}

组件下载:Extension

分享到:
评论

相关推荐

    wp7实例——ruler

    在本文中,我们将深入探讨基于Windows Phone 7 (WP7)平台的Ruler应用程序的开发实例。这个项目旨在利用智能手机的摄像头功能,实现一个虚拟尺子应用,帮助用户测量现实世界中的物体长度。我们将讨论该项目的技术实现...

    wp7——页面导航讲解

    WP7提供了`PhoneApplicationFrame`对象,它是应用程序的根框架,用于管理页面导航。主要的导航API包括: 1. `NavigationService.Navigate(Uri)`:此方法用于启动前行导航,传入的Uri参数指定了要导航到的页面的源...

    WP7小项目——图片浏览器

    【WP7小项目——图片浏览器】是一个专门为Windows Phone 7(WP7)平台设计的应用程序,旨在提供一个方便用户浏览和管理手机上图片的界面。这个项目可能由开发者为了学习和提升自己的WP7应用开发技能而创建,同时也...

    WP7开发系列——Windows Phone 7 开发环境搭建

    WP7开发系列——Windows Phone 7 开发环境搭建,自己写的PDF文档,原文链接:http://www.chenxupro.com/proxblog/?p=148

    wp7使用本地数据库——记分牌

    本项目“wp7使用本地数据库——记分牌”就是这样一个实例,它利用了WP7内置的SQLite数据库来实现一个记分牌功能。SQLite是一个轻量级的关系型数据库,适合在移动设备上进行本地数据存储。 首先,我们需要了解如何在...

    WP7 ListBox 下拉刷新组件

    在标签中提到的"WP7 ListBox WP8 Wp7控件开发 WP7自定义",表明这个组件不仅适用于WP7平台,也可能兼容WP8。虽然两个版本的操作系统有一些差异,但基本的控件和事件处理机制是相似的,因此这个下拉刷新组件的原理和...

    WP7开发系列——Windows Phone 7平台简单图像处理(PDF)

    Windows Phone 7 (WP7) 作为微软推出的一款操作系统,虽然在市场上已经不再活跃,但在当时为开发者提供了丰富的API和工具来实现图像处理等功能。本文将详细介绍如何在Windows Phone 7平台上进行简单的图像处理操作,...

    WP7 MetroGrid组件示例源码

    【WP7 MetroGrid组件示例源码】是一个专为Windows Phone 7(WP7)平台设计的UI组件,它提供了一种便捷的方式来设置应用界面的背景,尤其适用于那些希望实现类似Windows Phone "Metro"风格界面的开发者。这个组件简化...

    wp7工具集wp7工具集

    5. **wp7sdk_mini**:WP7 SDK(软件开发工具包)的精简版,可能包含了一部分开发所需的核心组件,供开发者进行WP7应用的开发工作。 **文件名称列表详解** 1. **wp7sdk_mini.rar**:这是Windows Phone 7 SDK的一个...

    刷机工具wp7

    WP7,全称为Windows Phone 7,是微软公司推出的一款智能手机操作系统,主要针对移动设备市场。在WP7系统中,为了提升设备性能、解决软件问题或安装特定版本的系统,用户有时需要对手机进行“刷机”,即更新或更换...

    WP7安装软件所需的全套工具

    标题“WP7安装软件所需的全套工具”涉及到的是针对Windows Phone 7(WP7)操作系统进行应用安装所需的必备软件和资源。Windows Phone 7是微软在2010年推出的一款移动操作系统,它有自己的应用商店—— Marketplace,...

    wp7应用软件安装

    2. **.NET Framework 4.0**:WP7应用程序通常基于.NET框架构建,因此你需要安装这个框架以支持应用运行。 3. **ZUNE PC Suite**:这是一个官方的WP7管理软件,用于同步音乐、视频、照片以及安装应用。安装ZUNE并...

    WP7手指画图应用源码

    《WP7手指画图应用源码解析》 在Windows Phone 7(WP7)平台上,开发者们能够利用其丰富的API和工具集创建出各种各样的应用程序。本篇将深入探讨一款名为"FingerPaint"的手指画图应用的源码,这是一款专为WP7设计的...

    WP7-HelloPhone

    3. **Silverlight for Windows Phone**:WP7应用基于Silverlight技术,它是一个用于创建富媒体和互动体验的框架。HelloPhone项目展示了如何利用Silverlight的特性来构建动态应用。 4. **事件处理**:在WP7应用中,...

    WP7多点触摸组件

    **WP7多点触摸组件**,全称为Windows Phone 7 MultiTouch Behaviors,是针对Windows Phone 7平台开发的一种特殊组件,旨在为开发者提供多点触摸功能的支持。这个组件允许用户通过手指在设备屏幕上进行多点操作,如...

    开源中国WP7版源码

    2. **开发环境**:要编译和运行此源码,你需要安装Windows Phone SDK,该SDK包含Visual Studio的一个扩展,支持WP7应用的开发。确保你的计算机上安装了.NET Framework 4.0和Visual Studio 2010或更高版本。 3. **...

    wp7手机 usb

    标题中的“wp7手机 usb”指的是Windows Phone 7操作系统与USB设备交互的功能,特别是将WP7手机用作便携式存储设备,类似于U盘。在Windows Phone 7系统中,用户可以通过特定的软件来启用这一功能,使得手机可以连接到...

    wp7精简版SDK

    2. **Silverlight for Windows Phone**:Silverlight是微软开发的一种富互联网应用程序(RIA)框架,WP7 SDK中的Silverlight工具包使得开发者能够利用其创建具有动态图形、多媒体和交互性的用户界面。 3. **XNA ...

    wp7开发31日谈完整版

    8. **Silverlight Toolkit for Windows Phone**(060956_WP7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone.doc):这是一个包含大量额外控件和行为的库,扩展了标准SDK的功能。本篇会介绍如何...

Global site tag (gtag.js) - Google Analytics