Ejemplo n.º 1
0
 /// <summary>
 /// If <paramref name="a"/> can be successfully casted to <typeparamref name="TR"/>, returns the casted one, wrapped as Maybe&lt;TR&gt;, otherwise Nothing
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <typeparam name="TR"></typeparam>
 /// <param name="a"></param>
 /// <returns></returns>
 public static Maybe <TR> MaybeCast <T, TR>(this T a) where TR : T
 {
     return(MaybeFunctionalWrappers.Catcher <T, TR, InvalidCastException>(o => (TR)o)(a));
 }