日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【WP7进阶】——扩展框架组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?組件描述

??? 該組件為Windows Phone 7 本身C#框架擴展了一系列方法,可以使你在編寫代碼的時候減少重復復制,并且增加了許多通用功能,使你的編寫代碼的時候可以更加流暢和得以應手。

?

擴展類別

該組件是將我們日常常用到的數據類型或者集合等操作再一次封裝成易于使用的靜態方法,分類為如下幾大類:

  • String 字符串擴展
  • DateTime 日期擴展
  • Guid 全局唯一標識符擴展
  • IEnumerable 集合擴展
  • Object 對象擴展
  • Stream 流擴展
  • Uri? 統一資源標識符擴展
  • Bool? 真假“是否”擴展
  • Int? 整型擴展

擴展方法體

以下為每個靜態類的擴展方法列表

StringExtensions

靜態方法成員截圖:

Format 代碼:

?

public?static?string?Format(this?string?self,?params?object[]?args)
{
????
if?(self?==?null)
????{
????????
throw?new?ArgumentNullException("format");
????}
????
return?string.Format(self,?args);
}

?

?

?

HasValue 代碼:

?

public?static?bool?HasValue(this?string?self)
{
????
return?!string.IsNullOrEmpty(self);
}

?

?

IsNullOrEmpty代碼:

public?static?bool?IsNullOrEmpty(this?string?self)
{
????
return?string.IsNullOrEmpty(self);
}

?

IsValidEmailAddress代碼:

public?static?bool?IsValidEmailAddress(this?string?self)
{
????Regex?regex?
=?new?Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
????
return?regex.IsMatch(self);
}

?

Split 代碼:

?

public?static?IEnumerable<string>?Split(this?string?self,?char?separator)
{
????
return?self.Split(new?char[]?{?separator?});

?

}

?

?

?

public?static?IEnumerable<string>?Split(this?string?self,?string?separator)
{
????
return?self.Split(new?string[]?{?separator?},?StringSplitOptions.None);
}

?

?

ToInt 代碼:

?

public?static?int?ToInt(this?string?self)
{
????
int?num;
????
if?(!int.TryParse(self,?out?num))
????{
????????
throw?new?InvalidOperationException("Value?is?not?valid.");
????}
????
return?num;
}

?

?

?

Trim 代碼:

public?static?string?Trim(this?string?self,?char?character)
{
????
return?self.Trim(new?char[]?{?character?});
}

?

?

DateTimeExtensions

靜態方法成員截圖:

AddWeek 代碼:

public?static?DateTime?AddWeek(this?DateTime?dateTime)
{
????
return?dateTime.AddDays(7.0);
}

?

ToUnixTimestamp代碼:

public?static?long?ToUnixTimestamp(this?DateTime?date)
{
????DateTime?time?
=?new?DateTime(0x7b2,?1,?1,?0,?0,?0);
????TimeSpan?span?
=?(TimeSpan)?(date?-?time);
????
return?(long)?span.TotalSeconds;
}

?

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

GuidExtensions

靜態方法成員截圖:

IsGuidEmpty 代碼 :

public?static?bool?IsGuidEmpty(this?Guid?self)
{
????
return?(self?==?Guid.Empty);
}

?

RemoveHyphen 代碼:

?

public?static?string?RemoveHyphen(this?Guid?self)
{
????
return?self.ToString().Replace("-",?"");
}

?

?

IEnumerableExtensions

靜態方法成員截圖:

ExistsIn<T> 代碼:

public?static?bool?ExistsIn<T>(this?T?obj,?IEnumerable<T>?collection)
{
????
return?Enumerable.Contains<T>(collection,?obj);
}

?

?

ForEach<T> 代碼:

public?static?void?ForEach<T>(this?IEnumerable<T>?sequence,?Action<T>?action)
{
????
if?(sequence?==?null)
????{
????????
throw?new?ArgumentNullException("The?secuence?is?null!");
????}
????
if?(action?==?null)
????{
????????
throw?new?ArgumentNullException("The?action?is?null!");
????}
????
foreach?(T?local?in?sequence)
????{
????????action(local);
????}
}

?

?

IsNullOrEmpty 代碼:

public?static?bool?IsNullOrEmpty<T>(this?IEnumerable<T>?obj)
{
????
if?(!obj.IsNull())
????{
????????
return?(Enumerable.Count<T>(obj)?==?0);
????}
????
return?true;
}

ToObservableCollection<T> 代碼:

public?static?ObservableCollection<T>?ToObservableCollection<T>(this?IEnumerable<T>?source)
{
????ObservableCollection
<T>?observables?=?new?ObservableCollection<T>();
????source.ForEach
<T>(new?Action<T>(observables.Add));
????
return?observables;
}

?

ObjectExtensions

靜態方法成員截圖:

In 代碼:

?

public?static?bool?In(this?object?self,?IEnumerable?enumerable)
{
????
return?(enumerable.IsNotNull()?&&?Enumerable.Contains<object>(Enumerable.Cast<object>(enumerable),?self));
}

?

?

IsNotNull 代碼:

?

public?static?bool?IsNotNull(this?object?self)
{
????
return?(self?!=?null);
}

?

?

IsNull 代碼:

?

public?static?bool?IsNull(this?object?self)
{
????
return?(self?==?null);
}

?

NullTolerantEquals 代碼:

?

public?static?bool?NullTolerantEquals(this?object?self,?object?obj)
{
????
if?(self.IsNull()?&&?obj.IsNotNull())
????{
????????
return?false;
????}
????
if?(self.IsNotNull()?&&?obj.IsNull())
????{
????????
return?false;
????}
????
return?((self.IsNull()?&&?obj.IsNull())?||?self.Equals(obj));
}

?

?

StreamExtensions

靜態方法成員列表截圖:

EqualsStream 代碼:

?

public?static?bool?EqualsStream(this?Stream?originalStream,?Stream?streamToCompareWith)
{
????
return?originalStream.EqualsStream(streamToCompareWith,?Math.Max(originalStream.Length,?streamToCompareWith.Length));
}

?

?

?

public?static?bool?EqualsStream(this?Stream?originalStream,?Stream?streamToCompareWith,?long?readLength)
{
????originalStream.Position?
=?0L;
????streamToCompareWith.Position?
=?0L;
????
for?(int?i?=?0;?i?<?readLength;?i++)
????{
????????
if?(originalStream.ReadByte()?!=?streamToCompareWith.ReadByte())
????????{
????????????
return?false;
????????}
????}
????
return?true;
}

?

?

ReadAllText 代碼:

?

public?static?string?ReadAllText(this?Stream?stream)
{
????
using?(StreamReader?reader?=?new?StreamReader(stream))
????{
????????
return?reader.ReadToEnd();
????}
}

?

?

ToByteArray 代碼:

?

public?static?byte[]?ToByteArray(this?Stream?stream)
{
????MemoryStream?writeStream?
=?new?MemoryStream();
????StreamHelper.CopyStream(stream,?writeStream,?
true);
????
return?writeStream.ToArray();
}

?

?

UriExtensions

靜態方法成員列表截圖:

Parameters 代碼:

?

public?static?Dictionary<string,?string>?Parameters(this?Uri?self)
{
????
if?(self.IsNull())
????{
????????
throw?new?ArgumentException("Uri?can't?be?null.");
????}
????
if?(string.IsNullOrEmpty(self.Query))
????{
????????
return?new?Dictionary<string,?string>();
????}
????
if?(CS$<>9__CachedAnonymousMethodDelegate2?==?null)
????{
????????CS$
<>9__CachedAnonymousMethodDelegate2?=?new?Func<string,?string>(null,?(IntPtr)?<Parameters>b__0);
????}
????
if?(CS$<>9__CachedAnonymousMethodDelegate3?==?null)
????{
????????CS$
<>9__CachedAnonymousMethodDelegate3?=?new?Func<string,?string>(null,?(IntPtr)?<Parameters>b__1);
????}
????
return?Enumerable.ToDictionary<string,?string,?string>(self.Query.Substring(1).Split(new?char[]?{?'&'?}),?CS$<>9__CachedAnonymousMethodDelegate2,?CS$<>9__CachedAnonymousMethodDelegate3);
}

?

?

BoolExtensions

靜態方法成員列表截圖:

IsFalse 代碼:

?

public?static?bool?IsFalse(this?bool?self)
{
????
return?!self;
}

?

?

IsTrue 代碼:

?

public?static?bool?IsTrue(this?bool?self)
{
????
return?self;
}

?

?

IntExtensions

靜態方法成員列表截圖:

?

?

IsWithin 代碼:

?

public?static?bool?IsWithin(this?int?self,?int?minimum,?int?maximum)
{
????
if?(minimum?>?maximum)
????{
????????
throw?new?ArgumentException("minimum?must?be?of?less?value?than?maximum.");
????}
????
return?((self?>=?minimum)?&&?(self?<=?maximum));
}

?

?

?

組件下載:Extension

轉載于:https://www.cnblogs.com/TerryBlog/archive/2011/02/27/1966479.html

總結

以上是生活随笔為你收集整理的【WP7进阶】——扩展框架组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。