private static MemberInfo GetMemberInfo(LambdaExpression memberSelector)
        {
            Ensure.ArgumentMatches(memberSelector.Body.NodeType == ExpressionType.MemberAccess, MemberIsNotAccess);

            var memberExpression = (MemberExpression)memberSelector.Body;

            return(memberExpression.Member);
        }
        private static MethodInfo GetMethodInfo(LambdaExpression methodSelector)
        {
            Ensure.ArgumentMatches(methodSelector.Body.NodeType == ExpressionType.Call, MethodIsNotCall);

            var callExpression = (MethodCallExpression)methodSelector.Body;

            return(callExpression.Method);
        }
        public static FieldInfo GetField <TResult>(Expression <Func <TTarget, TResult> > fieldSelector)
        {
            var info = GetMemberInfo(fieldSelector) as FieldInfo;

            Ensure.ArgumentMatches(info != null, MemberIsNotField);

            return(info);
        }
        public static PropertyInfo GetProperty <TResult>(Expression <Func <TTarget, TResult> > propertySelector)
        {
            var info = GetMemberInfo(propertySelector) as PropertyInfo;

            Ensure.ArgumentMatches(info != null, MemberIsNotProperty);

            return(info);
        }
        private IRibbonView ForgetAssociation(IRibbonTabView tabView)
        {
            Ensure.ArgumentMatches(this.tabToRibbonMap.ContainsKey(tabView), "The contextual tab group was not shown before or has already been removed.");

            IRibbonView ribbon = this.tabToRibbonMap[tabView];

            this.tabToRibbonMap.Remove(tabView);
            return(ribbon);
        }
Exemple #6
0
        public void Deactivate(object viewModel)
        {
            Ensure.ArgumentMatches(this.managers.ContainsKey(viewModel), viewModel, "viewModel", "The view model is not activated.");

            ILifecycleManager manager = this.managers[viewModel];

            manager.Deactivate();

            this.managers.Remove(viewModel);
        }
Exemple #7
0
        public void Activate(object viewModel)
        {
            Ensure.ArgumentMatches(!this.managers.ContainsKey(viewModel), viewModel, "viewModel", "The view model is already activated.");

            ILifecycleManager manager = this.managerFactory.Create(viewModel);

            this.managers.Add(viewModel, manager);

            manager.Activate();
        }
        private static FieldInfo GetEnumInfo(LambdaExpression enumerationValueSelector)
        {
            Ensure.ArgumentMatches(enumerationValueSelector.Body.NodeType == ExpressionType.Constant, EnumerationValueNotConstant);

            var constantExpression = (ConstantExpression)enumerationValueSelector.Body;

            string enumName = constantExpression.Type.GetEnumName(constantExpression.Value);

            return(constantExpression.Type.GetField(enumName));
        }