我正在寻找一个相当于Objective-C的C#语言类别.
解决方法
您不能向类添加方法,但是您可以使用扩展方法来实现类似的效果.
使用静态方法做一个静态类.静态方法的第一个参数被标记为“this”,并且该方法被装饰到具有参数类型的类中.
namespace ExtensionMethods { public static class MyExtensions { public static int WordCount(this String str) { return str.Split(new char[] { ' ','.','?' },StringSplitOptions.RemoveEmptyEntries).Length; } } }
然后,该方法将在String类型的所有实例上可用.但是,您仍然必须通过您的使用提供扩展类.
这个例子取自微软自己的文档:http://msdn.microsoft.com/en-us/library/bb383977.aspx