您的位置:首页 > 其它

一个有意思的类扩展 有效解决判空问题

2014-08-12 15:41 155 查看
public static class ClassExtensions
{
public static TResult GetProperty<TClass, TResult>(this TClass obj, Func<TClass, TResult> func) where TClass : class
{
if ((object) obj == null)
return default (TResult);
else
return func(obj);
}

public static TResult GetProperty<TKey, TResult>(this IDictionary<TKey, TResult> dict, TKey key)
{
if (dict == null || !dict.ContainsKey(key))
return default (TResult);
else
return dict[key];
}

public static TResult GetProperty<TKey, TValue, TResult>(this IDictionary<TKey, TValue> dict, TKey key, Func<TValue, TResult> func)
{
if (dict == null || !dict.ContainsKey(key))
return default (TResult);
TValue obj = dict[key];
return func(obj);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐