Castle.MonoRail.Framework.Internal.ControllerMetaDescriptor.GetAction C# (CSharp) Метод

GetAction() публичный Метод

Gets an action descriptor with information about an action.
public GetAction ( MethodInfo actionMethod ) : ActionMetaDescriptor
actionMethod System.Reflection.MethodInfo The action method.
Результат ActionMetaDescriptor
		public ActionMetaDescriptor GetAction(MethodInfo actionMethod)
		{
			ActionMetaDescriptor desc;

			if (!actionMetaDescriptors.TryGetValue(actionMethod, out desc))
			{
				desc = new ActionMetaDescriptor();
				actionMetaDescriptors[actionMethod] = desc;
			}

			return desc;
		}

Usage Example

		/// <summary>
		/// Collects the action attributes.
		/// </summary>
		/// <param name="method">The method.</param>
		/// <param name="descriptor">The descriptor.</param>
		private void CollectActionAttributes(MethodInfo method, ControllerMetaDescriptor descriptor)
		{
			if (logger.IsDebugEnabled)
			{
				logger.DebugFormat("Collection attributes for action {0}", method.Name);
			}

			ActionMetaDescriptor actionDescriptor = descriptor.GetAction(method);

			CollectResources(actionDescriptor, method);
			CollectSkipFilter(actionDescriptor, method);
			CollectRescues(actionDescriptor, method);
			CollectAccessibleThrough(actionDescriptor, method);
			CollectSkipRescue(actionDescriptor, method);
			CollectLayout(actionDescriptor, method);
			CollectCacheConfigures(actionDescriptor, method);
			CollectTransformFilter(actionDescriptor, method);
			
			if (method.IsDefined(typeof(AjaxActionAttribute), true))
			{
				descriptor.AjaxActions.Add(method);
			}
		}