C# 扩展方法 借签于 Objective-C 扩展类.

作者:不及格的程序员-八神

C#借签了多种语言的特性与功能,下面简单介绍它从Objective-C中引入的扩展方法.

下面的示例演示C#中为 System.String 类定义的一个扩展方法:

namespace ExtensionMethods
{
    public static class MyExtensions
    {
        public static int WordCount(this String str)
        {
            return str.Split(new char[] { ' ', '.', '?' }).Length;
        }
    }   
}

而在Objective-C 中扩展类方式同样可以实现同样功能:

@interface NSString (MyExtensions)
@property (nonatomic, readonly) int WordCount;
@end

@implementation NSString (MYExtensions)
-(int) WordCount
{
        return [self componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" ,.?"]];
} 

真是非常有趣的一件事情,比尔与乔布斯本是两个水火不相融的两个极端,它们都是非常讨厌对方的.在彼此的家中也不会出现对方的任何产品,可是在平台开发中它们却存在着影子.

现在非常喜欢用Objective-c开发,而不是使用mono的任何产品,后者提供了android与ios平台的C#开发方式,但是价格也不便宜.

不过Xcode的调试跟踪功能还不如Visual studio 强大,可是它的安装文件一定不比后者小,呵呵.还需努力啊.