1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
7
using System.Collections.Generic;
13
namespace ICSharpCode.Data.Core.Common
16
/// ExtensionMethods for System.Object.
18
public static class Objects
20
#region Public methods
25
/// Does something if the object isn't null.
27
/// <typeparam name="TSource"></typeparam>
28
/// <param name="source"></param>
29
/// <param name="action"></param>
30
/// <returns>Source object</returns>
31
public static TSource DoIfNull<TSource>(this TSource source, Action action)
33
Helper.CheckIfParameterIsNull(action, "action");
45
/// Does something if the object isn't null, otherwise the method returns null.
47
/// <typeparam name="TSource"></typeparam>
48
/// <typeparam name="TTarget"></typeparam>
49
/// <param name="source"></param>
50
/// <param name="action"></param>
51
/// <returns></returns>
52
public static TTarget DoIfNotNull<TSource, TTarget>(this TSource source, Func<TSource, TTarget> action)
54
Helper.CheckIfParameterIsNull(action, "action");
56
return source == null ? default(TTarget) : action(source);
60
/// Does something if the object isn't null.
62
/// <typeparam name="TSource"></typeparam>
63
/// <param name="source"></param>
64
/// <param name="action"></param>
65
public static void DoIfNotNull<TSource>(this TSource source, Action<TSource> action)
67
Helper.CheckIfParameterIsNull(action, "action");