【发布时间】:2013-05-17 14:55:04
【问题描述】:
我在 C# 代码中使用String.Format 可能比if 语句之外的任何东西都多。
string ask = String.Format("Continue using [{0}]?", value);
我刚刚开始考虑我使用它的频率。
接下来,我开始思考为它创建一个Extension Method 会有多棒。
ask.Format("Continue using [{0}]?", value);
所以,我查看了String.Format,它有很多重载,因为有很多方法可以调用它。
- Format(String, Object)
- Format(String, Object[])
- Format(IFormatProvider, String, Object[])
- Format(String, Object, Object)
- Format(String, Object, Object, Object)
嗯……这让事情变得复杂了。
是否有一种简单的方法来编写 Extension Method 以简单地构建在 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 重载,但这可能不是必需的。
【问题讨论】:
标签: c# string extension-methods