c# - C# 是否具有与 Objective-c 的类别等效的功能?

标签 c# objective-c

我正在寻找 C# 语言的 Objective-c 类别的等价物。

最佳答案

您不能向类添加方法,但是您可以使用扩展方法来实现类似的效果。

创建一个静态类,使用静态方法。静态方法的第一个参数用“this”标记,方法被修饰到具有参数类型的类。

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

此方法将可用于 String 类型的所有实例。但是,您仍然必须通过使用获得扩展类。

该示例取自此处提供的 Microsoft 自己的文档:http://msdn.microsoft.com/en-us/library/bb383977.aspx

关于c# - C# 是否具有与 Objective-c 的类别等效的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579764/

相关文章:

c# - 如何添加特定的cake包在windows下运行

c# - 替换字符串中第 N 个正则表达式匹配项

c# - 两张表用SQL事务插入

ios - 对 ios7 的 shm_open 调用现在导致在 O_CREAT (EPERM) 期间不允许操作

ios - 如何使动画在 Xcode 5 iOS 7 中工作?

c# - Azure 托管服务总线 : "The X.509 certificate CN=servicebus.windows.net is not in the trusted people store."

c# - 创建具有 native 依赖项的 NetCore NuGet 包

ios - block 作为 block 的参数

ios - 每次在测验中加载应用程序时随机化问题

iphone - 使用 NSSet 在 Objective C 中保存委托(delegate)列表