当前位置: 首页>>代码示例>>C#>>正文


C# IAction类代码示例

本文整理汇总了C#中IAction的典型用法代码示例。如果您正苦于以下问题:C# IAction类的具体用法?C# IAction怎么用?C# IAction使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


IAction类属于命名空间,在下文中一共展示了IAction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddAction

 public void AddAction(IAction action)
 {
     lock (_actions)
     {
         _actions.Enqueue(action);
     }
 }
开发者ID:tjuckett,项目名称:OmniEve,代码行数:7,代码来源:OmniEve.cs

示例2: get

 ActionInfo get(IAction action)
 {
     lock (lockObj)
     {
         return actionStore[ID].Actions.FirstOrDefault( a => a.Order == action.Order && a.IsLast);
     }
 }
开发者ID:BikS2013,项目名称:bUtility,代码行数:7,代码来源:Store.cs

示例3: GetDenyActions

        private DenyResult[] GetDenyActions(ISubject subject, IAction[] actions, ISecurityObjectId objectId, ISecurityObjectProvider securityObjProvider)
        {
            var denyActions = new List<DenyResult>();
            if (actions == null) actions = new IAction[0];

            if (subject == null)
            {
                denyActions = actions.Select(a => new DenyResult(a, null, null)).ToList();
            }
            else if (subject is ISystemAccount && subject.ID == Constants.CoreSystem.ID)
            {
                // allow all
            }
            else
            {
                ISubject denySubject = null;
                IAction denyAction = null;
                foreach (var action in actions)
                {
                    var allow = azManager.CheckPermission(subject, action, objectId, securityObjProvider, out denySubject, out denyAction);
                    if (!allow)
                    {
                        denyActions.Add(new DenyResult(action, denySubject, denyAction));
                        break;
                    }
                }
            }
            return denyActions.ToArray();
        }
开发者ID:vipwan,项目名称:CommunityServer,代码行数:29,代码来源:PermissionResolver.cs

示例4: FormatErrorMessage

 internal static string FormatErrorMessage(ISubject subject, IAction[] actions, ISubject[] denySubjects,
                                           IAction[] denyActions)
 {
     if (subject == null) throw new ArgumentNullException("subject");
     if (actions == null || actions.Length == 0) throw new ArgumentNullException("actions");
     if (denySubjects == null || denySubjects.Length == 0) throw new ArgumentNullException("denySubjects");
     if (denyActions == null || denyActions.Length == 0) throw new ArgumentNullException("denyActions");
     if (actions.Length != denySubjects.Length || actions.Length != denyActions.Length)
         throw new ArgumentException();
     string reasons = "";
     for (int i = 0; i < actions.Length; i++)
     {
         string reason = "";
         if (denySubjects[i] != null && denyActions[i] != null)
             reason = String.Format("{0}:{1} access denied {2}.",
                                    actions[i].Name,
                                    (denySubjects[i] is IRole ? "role:" : "") + denySubjects[i].Name,
                                    denyActions[i].Name
                 );
         else
             reason = String.Format("{0}: access denied.", actions[i].Name);
         if (i != actions.Length - 1)
             reason += ", ";
         reasons += reason;
     }
     string sactions = "";
     Array.ForEach(actions, action => { sactions += action.ToString() + ", "; });
     string message = String.Format(
         "\"{0}\" access denied \"{1}\". Cause: {2}.",
         (subject is IRole ? "role:" : "") + subject.Name,
         sactions,
         reasons
         );
     return message;
 }
开发者ID:Inzaghi2012,项目名称:teamlab.v7.5,代码行数:35,代码来源:AuthorizingException.cs

示例5: SetTooltipText

		/// <summary>
		/// Sets the tooltip text on the specified item, from the specified action.
		/// </summary>
		/// <param name="item"></param>
		/// <param name="action"></param>
		internal static void SetTooltipText(ToolStripItem item, IAction action)
		{
			var actionTooltip = action.Tooltip;
			if (string.IsNullOrEmpty(actionTooltip))
				actionTooltip = (action.Label ?? string.Empty).Replace("&", "");

			var clickAction = action as IClickAction;

			if (clickAction == null || clickAction.KeyStroke == XKeys.None)
			{
				item.ToolTipText = actionTooltip;
				return;
			}

			var keyCode = clickAction.KeyStroke & XKeys.KeyCode;

			var builder = new StringBuilder();
			builder.Append(actionTooltip);

			if (keyCode != XKeys.None)
			{
				if (builder.Length > 0)
					builder.AppendLine();
				builder.AppendFormat("{0}: ", SR.LabelKeyboardShortcut);
				builder.Append(XKeysConverter.Format(clickAction.KeyStroke));
			}

			item.ToolTipText = builder.ToString();
		}
开发者ID:nhannd,项目名称:Xian,代码行数:34,代码来源:ActionViewUtils.cs

示例6: Add

        public void Add(IAction action)
        {
            if(action.GetType() == typeof(SelectionAction) && firstSelectionAction == null)
                firstSelectionAction = (SelectionAction)action;
            else if (action.GetType() == typeof(BiomeAction) && firstBiomeAction == null)
                firstBiomeAction = (BiomeAction)action;
            else if (action.GetType() == typeof(PopulateAction) && firstPopulateAction == null)
                firstPopulateAction = (PopulateAction)action;

            //ensure the first action of each type isn't lost when the redo stack is emptied
            if(firstSelectionAction != null && action != firstSelectionAction && redoStack.Contains(firstSelectionAction))
            {
                redoStack.Remove(firstSelectionAction);
                undoStack.AddLast(firstSelectionAction);
            }
            if (firstBiomeAction != null && action != firstBiomeAction && redoStack.Contains(firstBiomeAction))
            {
                redoStack.Remove(firstBiomeAction);
                undoStack.AddLast(firstBiomeAction);
            }
            if (firstPopulateAction != null && action != firstPopulateAction && redoStack.Contains(firstPopulateAction))
            {
                redoStack.Remove(firstPopulateAction);
                undoStack.AddLast(firstPopulateAction);
            }

            action.PreviousAction = GetPreviousAction(undoStack.Last, action.GetType());
            undoStack.AddLast(action);
            foreach (IAction a in redoStack)
                a.Dispose();
            redoStack.Clear();
        }
开发者ID:mblaine,项目名称:BiomePainter,代码行数:32,代码来源:HistoryManager.cs

示例7: Execute

        public override IActionResult Execute(object pSouce, IAction pAction)
        {
            if (pAction is LoadAction)
            {
                return ExecuteToChildren(new LoadAction(this));
            }

            var startReadAction = pAction as StartReadAction;
            if (startReadAction != null)
            {
                return StartRead(startReadAction);
            }

            var selectItemAction = pAction as SelectItemAction;
            if (selectItemAction != null)
            {
                try
                {
                    SelectItem(selectItemAction);
                }
                catch (InvalidOperationException ex)
                {
                    //TODO: manage exception: log it and show any information to the user?
                    SelectedChapter = null;
                }
            }

            var startReadSelectedChapterAction = pAction as StartReadSelectedChapterAction;
            if (startReadSelectedChapterAction != null)
            {
                return StartReadSelectedChapter(startReadSelectedChapterAction);
            }

            return base.Execute(pSouce, pAction);
        } 
开发者ID:ber2dev,项目名称:manga-utilities,代码行数:35,代码来源:MangaReaderManager.cs

示例8: Execute

        public TimeMachineState Execute(TimeMachineState previousState, IAction action)
        {
            if(action is ResumeTimeMachineAction)
            {
                return previousState
                    .WithIsPaused(false)
                    .WithStates(previousState.States.Take(previousState.Position + 1).ToImmutableList())
                    .WithActions(previousState.Actions.Take(previousState.Position).ToImmutableList());
            }

            if(action is PauseTimeMachineAction)
            {
                return previousState
                    .WithIsPaused(true);
            }

            if(action is SetTimeMachinePositionAction)
            {
                return previousState
                    .WithPosition(((SetTimeMachinePositionAction)action).Position)
                    .WithIsPaused(true);
            }

            if (previousState.IsPaused)
            {
                return previousState;
            }

            var innerState = _reducer(previousState.States.Last(), action);

            return previousState
                .WithStates(previousState.States.Add(innerState))
                .WithActions(previousState.Actions.Add(action))
                .WithPosition(previousState.Position + 1);
        }
开发者ID:rid00z,项目名称:redux.NET,代码行数:35,代码来源:TimeMachineReducer.cs

示例9: Add

        public void Add(IAction action, string tag = "")
        {
            if (!m_actions.ContainsKey (tag))
                m_actions [tag] = new Queue<IAction> ();

            m_actions[tag].Enqueue(action);
        }
开发者ID:rustamserg,项目名称:mogate,代码行数:7,代码来源:Execute.cs

示例10: Append

		public void Append (IAction action) 
		{
			if (action == null)
				throw new ArgumentNullException ("action");

			actions.Add (action);
		}
开发者ID:TheRealDuckboy,项目名称:mono-soc-2008,代码行数:7,代码来源:Pipeline.cs

示例11: WithActionIfConditionsNotFulfilled

        public Automation WithActionIfConditionsNotFulfilled(IAction action)
        {
            if (action == null) throw new ArgumentNullException(nameof(action));

            ActionsIfNotFulfilled.Add(action);
            return this;
        }
开发者ID:chkr1011,项目名称:CK.HomeAutomation,代码行数:7,代码来源:Automation.cs

示例12: AddAction

        public void AddAction(IAction action)
        {
            string ID = action.ID;
            System.Windows.Forms.MenuItem menuItem = new System.Windows.Forms.MenuItem(ID);
            menuItem.Click += new System.EventHandler(this.MainWindow_ActionSelect);
            menuItem.Tag = action;

            System.Windows.Forms.MenuItem menuMain = this.menuItemActions;
            if (menuMain == null)
            {
                LoggerFactory.Default.Log("Could not register IAction in IDE", action.EffectiveID);
                return;
            };

            string category = action.Category;
            if ((category == "") || (category == null))
            { menuMain.MenuItems.Add(menuItem); }
            else
            {
                System.Windows.Forms.MenuItem categoryItem = findCategoryMenu(menuMain, category);
                if (categoryItem == null)
                {
                    categoryItem = new System.Windows.Forms.MenuItem(category);
                    menuMain.MenuItems.Add(categoryItem);
                }
                addSortedActionInCategory(categoryItem, menuItem);
            }
        }
开发者ID:fernandolucasrodriguez,项目名称:qit,代码行数:28,代码来源:WindowMain.cs

示例13: ChoosePluginForAction

        public IPlugin ChoosePluginForAction(IAction action)
        {
            var capable = Plugins.Where(plugin => plugin.CanHandle(action));

            // pretty dumb selection logic for now, pass in ranking preferences later
            return capable.FirstOrDefault();
        }
开发者ID:danbyrne84,项目名称:tinyCQRS,代码行数:7,代码来源:PluginManager.cs

示例14: ExecuteToChildren

        public static IEnumerable<IActionResult> ExecuteToChildren(
            IManager pManager, 
            IAction pAction,
            bool pCheckSource)
        {
            ArgumentsValidation.NotNull(pManager, "pManager");
            ArgumentsValidation.NotNull(pAction, "pAction");

            var result = new List<IActionResult>();

            var children = pManager.GetChildren();
            if (children != null)
            {
                var checkedChildren = children.Where(x => !pCheckSource || !ReferenceEquals(x, pAction.GetSource()));
                foreach (var child in checkedChildren)
                {
                    var r = child.Execute(pManager, pAction);
                    if (r == null || r is NotAvailableActionResult)
                    {
                        continue;
                    }

                    result.Add(r);
                }
            }

            return new ReadOnlyCollection<IActionResult>(result);
        }
开发者ID:ber2dev,项目名称:manga-utilities,代码行数:28,代码来源:ManagerUtilities.cs

示例15: OnProcess

        protected override void OnProcess(IAction action)
        {
            base.OnProcess(action);

            HtmlElement element = this.GetData(action) as HtmlElement;
            if (element == null)
            {
                LoggerManager.Error("Element Not Found");
                throw new ElementNoFoundException("Element Not Found", action);
            }

            LoggerManager.Debug(action.AutomationActionData);

            ClickAction clickAction = action as ClickAction;
            if (clickAction == null)
            {
                return;
            }

            if (clickAction.Click)
            {
                LoggerManager.Debug("Trigger Click");
                this.Call<HtmlElement>(Click, element);
            }
            if (clickAction.ClickNew)
            {
                LoggerManager.Debug("Trigger ClickNew");
                this.Call<HtmlElement>(ClickNew, element);
            }
            if (clickAction.MouseClick)
            {
                LoggerManager.Debug("Trigger MouseClick");
                this.Call<HtmlElement>(MouseClick, element);
            }
        }
开发者ID:pisceanfoot,项目名称:xSimulate,代码行数:35,代码来源:ClickTask.cs


注:本文中的IAction类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。