Example #1
0
 /// <summary>
 /// Binds the given function to the NotNull.
 /// </summary>
 /// <typeparam name="T">NotNull type.</typeparam>
 /// <typeparam name="U">Function return NotNull type.</typeparam>
 /// <param name="notNull">This instance.</param>
 /// <param name="func">Function to bind.</param>
 /// <returns>NotNull containing the result of the function.</returns>
 public static NotNull <U> Bind <T, U>(this NotNull <T> notNull, Func <T, NotNull <U> > func)
 => func(notNull);
Example #2
0
 /// <summary>
 /// Mapsthe given function to the NotNull.
 /// </summary>
 /// <typeparam name="T">NotNull type.</typeparam>
 /// <typeparam name="U">Function return type</typeparam>
 /// <param name="notNull">This instance.</param>
 /// <param name="func">Function to map.</param>
 /// <returns>NotNull containing the result of the function.</returns>
 /// <exception cref="ArgumentNullException">Thrown if the function returns null.</exception>
 public static NotNull <U> Map <T, U>(this NotNull <T> notNull, Func <T, U> func)
 => NotNull.Make(func(notNull));
Example #3
0
 /// <summary>
 /// Creates an Optional from the given object which is either Nothing if the
 /// object is null or NotNull if the object is not null.
 /// </summary>
 /// <typeparam name="T">Item type.</typeparam>
 /// <param name="item">Object to store.</param>
 /// <returns>NotNull if object is not null, Nothing otherwise.</returns>
 public static Optional <NotNull <T> > MakeOptional <T>(T item) => NotNull <T> .MakeOptional(item);