C# 擴充套件方法 借籤於 Objective-C 擴充套件類.

iDotNetSpace發表於2010-12-08

C#借簽了多種語言的特性與功能,下面簡單介紹它從Objective-C中引入的擴充套件方法.

下面的示例演示C#中為 System.String 類定義的一個擴充套件方法:

 

01 namespace ExtensionMethods
02 {
03     public static class MyExtensions
04     {
05         public static int WordCount(this String str)
06         {
07             return str.Split(new char[] { ' ', '.', '?' }).Length;
08         }
09     }   
10 }

 

而在Objective-C 中擴充套件類方式同樣可以實現同樣功能:

 

1 @interface NSString (MyExtensions)
2 @property (nonatomic, readonly) int WordCount;
3 @end
4   
5 @implementation NSString (MYExtensions)
6 -(int) WordCount
7 {
8     return [self componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" ,.?"]];
9

 

真是非常有趣的一件事情,比爾與賈伯斯本是兩個水火不相融的兩個極端,它們都是非常討厭對方的.在彼此的家中也不會出現對方的任何產品,可是在平臺開發中它們卻存在著影子.

現在非常喜歡用Objective-c開發,而不是使用mono的任何產品,後者提供了android與ios平臺的C#開發方式,但是價格也不便宜.

不過Xcode的除錯跟蹤功能還不如Visual studio 強大,可是它的安裝檔案一定不比後者小,呵呵.還需努力啊.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-681157/,如需轉載,請註明出處,否則將追究法律責任。

相關文章