c# - 是否有现有的 C# 扩展方法库?或分享你自己的

标签 c# extension-methods boilerplate

<分区>

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。它甚至适用于对象,这有点怪异。

关于c# - 是否有现有的 C# 扩展方法库?或分享你自己的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/923348/

相关文章:

c# - 替换表达式树中的参数值

c# - Dictionary<T> 的 SingleOrDefault 集合版本是什么?

backbone.js - 适用于大型应用程序的最佳backbone.js 和 require.js 样板

c# - 什么是不断变化的表格表示的最佳集合类型

c# - 将 .NET 区域设置转换为 jQuery 区域设置 - 当本地资源中不存在国家变体(例如 "-US"或 "-MX")时

c# - 是否可以对第一个参数使用类型推断并指定另一种类型

c++ - 是否可以避免头文件中的命名空间样板?

Python - Google 类(class) - 调用函数的样板

c# - 后台线程的 MSTest 失败

c# - 如何编写一个将不同类型作为参数的泛型方法?