可能重复:
为什么不支持C#静态类扩展方法?
一般问题:
在Objective-C中,我可以为任何(我认为是?(类添加一个类别。在这个类别中,我可以定义类或实例方法。
我知道如何在.NET中创建一个扩展方法,使我能够实现与Objective-C类别实例方法相同的东西。
有没有一种方法可以使扩展方法成为类方法?
具体问题:
我创建了一个方法,该方法采用System.DateTime
值,并返回另一个System.DateTime
值,该值表示所提供值之前的月份的第一个值。我已经把它变成了一个扩展方法,我这样称呼它:
Dim dt As DateTime = Now.FirstOfPriorMonth()
然而,我只在Now
上调用过这个方法,所以我想制作一个类级扩展方法,并假设Now
。因此,我想称之为:
Dim dt As DateTime = System.DateTime.FirstOfLastMonth()
这可能吗?我意识到我目前正在工作的解决方案很好,所以我真的更想知道什么是可能的,而不是试图"解决"我目前的问题。
我不会忙于扩展Microsoft的静态类:只需启动您自己的通用日期/时间实用程序类并使用它:
Dim dt As DateTime = YourCommonCode.DateTimeUtils.FirstOfLastMonth()