Jef*_*ang 5 c# extension-methods boilerplate
我喜欢C#3.0.我最喜欢的部分之一是扩展方法.
我喜欢将扩展方法视为可应用于广泛类的实用程序函数.我被警告说这个问题是主观的,可能会被关闭,但我认为这是一个很好的问题,因为我们都有"样板"代码来做一些相对静态的事情,比如"用于XML的转义字符串" - 但我还没有找到收集这些的地方.
我对执行日志记录/调试/分析,字符串操作和数据库访问的常用函数特别感兴趣.某处有哪些类型的扩展方法库吗?
编辑:将我的代码示例移到答案中.(感谢Joel清理代码!)
你可能会喜欢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).它甚至适用于物体,这有点怪异.
| 归档时间: |
|
| 查看次数: |
490 次 |
| 最近记录: |