Possible Duplicate:
Post your extension goodies for C# .Net (codeplex.com/extensionoverflow)
我喜欢 C# 3.0。我最喜欢的部分之一是扩展方法。
我喜欢将扩展方法视为可以应用于广泛类基础的实用函数。我被警告说这个问题是主观的并且可能会被关闭,但我认为这是一个很好的问题,因为我们都有“样板”代码来做一些相对静态的事情,比如“XML 的转义字符串”——但我还没有找到收集这些的地方。
我对执行日志记录/调试/分析、字符串操作和数据库访问的常用函数特别感兴趣。在某处是否有这些类型的扩展方法的库?
编辑:将我的代码示例移至答案。
(感谢 Joel 清理代码!)
您可能喜欢 MiscUtil .
还有很多人喜欢这个:
public static bool IsNullOrEmpty(this string s)
{
return s == null || s.Length == 0;
}
但由于 10 次或更多次中有 9 次我都在检查它是否不为 null 或空,我个人使用这个:
public static bool HasValue(this string s)
{
return s != null && s.Length > 0;
}
最后,我最近捡到的一个:
public static bool IsDefault<T>(this T val)
{
return EqualityComparer<T>.Default.Equals(val, default(T));
}
用于检查 DateTime、bool 或 integer 等值类型的默认值,或检查 string 等引用类型的 null。它甚至适用于对象,这有点怪异。