2013-01-17 23 views
0

可能重复:
Why aren’t C# static class extension methods supported?.NET添加类方法,以系统类

一般问题:

在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

我不会都赶上了试图扩展微软的静态类:刚开始自己​​常用的日期/时间公用事业类和使用:

Dim dt As DateTime = YourCommonCode.DateTimeUtils.FirstOfLastMonth()