是否存在C#的扩展方法库?或分享你自己的

Jef*_*ang 5 c# extension-methods boilerplate

可能重复:
为C#.Net发布您的扩展程序好东西(codeplex.com/extensionoverflow)

我喜欢C#3.0.我最喜欢的部分之一是扩展方法.

我喜欢将扩展方法视为可应用于广泛类的实用程序函数.我被警告说这个问题是主观的,可能会被关闭,但我认为这是一个很好的问题,因为我们都有"样板"代码来做一些相对静态的事情,比如"用于XML的转义字符串" - 但我还没有找到收集这些的地方.

我对执行日志记录/调试/分析,字符串操作和数据库访问的常用函数特别感兴趣.某处有哪些类型的扩展方法库吗?

编辑:将我的代码示例移到答案中.(感谢Joel清理代码!)

Joe*_*orn 6

你可能会喜欢MiscUtil.

还有很多人喜欢这个:

public static bool IsNullOrEmpty(this string s)
{
    return s == null || s.Length == 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,由于9次中有10次或更多,我检查它不是空或空,我个人使用这个:

public static bool HasValue(this string s)
{
    return s != null && s.Length > 0;
}
Run Code Online (Sandbox Code Playgroud)

最后,我最近刚拿起一个:

public static bool IsDefault<T>(this T val)
{
    return EqualityComparer<T>.Default.Equals(val, default(T));
}
Run Code Online (Sandbox Code Playgroud)

用于检查值类型(如DateTime,bool或整数)作为其默认值,或引用类型(如string for null).它甚至适用于物体,这有点怪异.