0

重複の可能性:
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()

これは可能ですか?私は現在機能しているソリューションが問題ないことを認識しているので、現在の問題を「修正」しようとするよりも、何が可能かを本当に考えています。

4

1 に答える 1

1

Microsoftの静的クラスを拡張しようとしても、すべてが追いつくことはありません。独自の共通の日付/時刻ユーティリティクラスを開始し、それを使用するだけです。

Dim dt As DateTime = YourCommonCode.DateTimeUtils.FirstOfLastMonth()
于 2013-01-17T20:04:09.667 に答える