私は C# コードでString.Formatif
をおそらくステートメント以外の何よりも使用しています。
string ask = String.Format("Continue using [{0}]?", value);
どのくらいの頻度で使用するかを考えるようになりました。
次に、そのための拡張メソッドを作成することがどれほど素晴らしいかを考えなければなりませんでした。
ask.Format("Continue using [{0}]?", value);
それで、私はString.Formatを見なければなりませんでした。それを呼び出す方法はたくさんあるので、多くのオーバーロードがあります。
- Format(文字列、オブジェクト)
- Format(文字列、オブジェクト[])
- Format(IFormatProvider, 文字列, オブジェクト[])
- Format(文字列、オブジェクト、オブジェクト)
- Format(文字列、オブジェクト、オブジェクト、オブジェクト)
うーん...それは物事を複雑にします。
名前空間に既に存在するオーバーロードに基づいて単純に構築する拡張メソッドを作成する簡単な方法はありますか?System.String
これが私が見たいものです:
public static class Extensions
{
public static String Format(this String str, String formatText, /* What goes here? */)
{
return str.Format(formatText, /* Magic */);
}
}
String.Formatオーバーロードのそれぞれに一致するようにオーバーロードを記述できると思いますが、それは必要ないかもしれません。