1. ホーム
  2. c#

[解決済み] 静的拡張メソッド【重複

2022-04-22 20:48:44

質問

クラスに静的拡張メソッドを追加する方法はありますか?

をオーバーロードしたい。 Boolean.Parse を許可するように int 引数を指定します。

どのように解決するのですか?

要するに、ダメなんです。

長い答えですが、拡張メソッドは単なる構文上の糖分です。IEです。

例えば、文字列の拡張メソッドがあるとする。

public static string SomeStringExtension(this string s)
{
   //whatever..
}

その後、呼び出すとき。

myString.SomeStringExtension();

コンパイラはそれをそのまま

ExtensionClass.SomeStringExtension(myString);

つまり、おわかりのように、静的メソッドにはその方法がないのです。

そして、もうひとつ思いついたことがあります。 ポイント 既存のクラスに静的メソッドを追加することができるのでしょうか?同じことをするヘルパークラスがあればいいわけで、それができることの本当のメリットは何なのでしょう。

Bool.Parse(..)

vs.

Helper.ParseBool(..);

あまりいいことないかな......。