可能重复:
Why aren’t C# static class extension methods supported?
一般问题:
在Objective-C中,我可以为任何(我认为?)类添加一个类别。在该类别中,我可以定义类或实例方法。
我知道如何在.NET中创建一个扩展方法,这将允许我实现与Objective-C类别实例方法相同的东西。
有没有办法制作一个类方法的扩展方法?
具体问题:
我创建了一个方法,它接受System.DateTime
值并返回另一个System.DateTime
值,该值表示在提供的值之前的月份的第一个月。我已将其转换为扩展方法,我将其称为:
Dim dt As DateTime = Now.FirstOfPriorMonth()
但是,我只在Now
上调用此方法,因此我想制作一个类级别的扩展方法并假设Now
。因此,我想呼吁以下内容:
Dim dt As DateTime = System.DateTime.FirstOfLastMonth()
这可能吗?我意识到我目前正在使用的解决方案很好,所以我真的更想知道什么是可能的,而不是试图“解决”我当前的问题。
答案 0 :(得分:1)
我不会全力以赴地尝试扩展Microsoft的静态类:只需启动您自己的公共日期/时间实用程序类并使用它:
Dim dt As DateTime = YourCommonCode.DateTimeUtils.FirstOfLastMonth()