public void Maybe_Cast_ReturnNothingOnInvalidCast() { Maybe <string> m = "test"; var x = m.Cast <decimal>(); Assert.True(x.IsEmpty); Assert.Equal(Maybe <decimal> .Nothing, x); }
public void Maybe_Cast_ReturnNothingWhenNothing() { Maybe <int> m = Maybe <int> .Nothing; var x = m.Cast <decimal>(); Assert.True(x.IsEmpty); Assert.Equal(Maybe <decimal> .Nothing, x); }
public void Maybe_Cast_CastsWhenSomething() { Maybe <object> m = 6; var x = m.Cast <int>(); Assert.False(x.IsEmpty); Assert.Equal((int)6, x.Value); }
public static Maybe <TAttribute> GetCustomAttribute <TAttribute>(this ICustomAttributeProvider provider, bool inherit) where TAttribute : Attribute { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } var temp = provider.GetCustomAttributes(typeof(TAttribute), inherit).FirstOrDefault(); return(Maybe.Cast <TAttribute>(temp)); }
private DisconnectedDataContextRoot(Maybe <FrameworkElement> mayElementBase) { var mayRoot = ControlBindLogic.FindRoot(mayElementBase.Cast <FrameworkElement, DependencyObject>()); var elementBase = mayElementBase.Value; void OnLoad(object sender, RoutedEventArgs args) { elementBase.Loaded -= OnLoad; var root = mayRoot.OrElseDefault(); if (root is IView control && root is FrameworkElement { DataContext : IViewModel model }) { _modelAction?.Invoke(model, control); if (_unload != null) { control.ControlUnload += _unload; } }
public void Set <T>(ISymbol symbol, Maybe <T> value) { Guard.NotNull(symbol, "symbol"); _KeyedReaderWriter.Set(symbol, value.Cast <object>()); }
public MutatingContext <TData> WithChange <TChange>(Maybe <TChange> mutatingChange) where TChange : MutatingChange => Update(mutatingChange.Cast <TChange, MutatingChange>(), Data);