C#借签了多种语言的特性与功能,下面简单介绍它从Objective-C中引入的扩展方法.
下面的示例演示C#中为 System.String 类定义的一个扩展方法:
| 01 |
namespace ExtensionMethods |
| 03 |
public static class MyExtensions |
| 05 |
public static int WordCount(this String str) |
| 07 |
return str.Split(new char[] { ' ', '.', '?' }).Length; |
而在Objective-C 中扩展类方式同样可以实现同样功能:
| 1 |
@interface NSString (MyExtensions) |
| 2 |
@property (nonatomic, readonly) int WordCount; |
| 5 |
@implementation NSString (MYExtensions) |
| 8 |
return [self componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" ,.?"]]; |
真是非常有趣的一件事情,比尔与乔布斯本是两个水火不相融的两个极端,它们都是非常讨厌对方的.在彼此的家中也不会出现对方的任何产品,可是在平台开发中它们却存在着影子.
现在非常喜欢用Objective-c开发,而不是使用mono的任何产品,后者提供了android与ios平台的C#开发方式,但是价格也不便宜.
不过Xcode的调试跟踪功能还不如Visual studio 强大,可是它的安装文件一定不比后者小,呵呵.还需努力啊.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-681075/
,如需转载,请注明出处,否则将追究法律责任。