Exemple #1
0
        public void Maybe_Cast_ReturnNothingOnInvalidCast()
        {
            Maybe <string> m = "test";
            var            x = m.Cast <decimal>();

            Assert.True(x.IsEmpty);
            Assert.Equal(Maybe <decimal> .Nothing, x);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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;
                    }
                }
Exemple #6
0
 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);