/*----------------------------------------------------------------------------------------*/
        /// <summary>
        /// Creates an injection directive for the specified field.
        /// </summary>
        /// <param name="binding">The binding.</param>
        /// <param name="field">The field to create the directive for.</param>
        /// <returns>The created directive.</returns>
        public FieldInjectionDirective Create(IBinding binding, FieldInfo field)
        {
            var directive = new FieldInjectionDirective(field);

            directive.Argument = CreateArgument(binding, new FieldTarget(field));

            return(directive);
        }
        /*----------------------------------------------------------------------------------------*/
        /// <summary>
        /// Adds an injection directive related to the specified member to the specified activation plan.
        /// </summary>
        /// <param name="binding">The binding that points at the type being inspected.</param>
        /// <param name="type">The type that is being inspected.</param>
        /// <param name="plan">The activation plan to add the directive to.</param>
        /// <param name="member">The member to create a directive for.</param>
        protected override void AddInjectionDirective(IBinding binding, Type type, IActivationPlan plan, FieldInfo member)
        {
            FieldInjectionDirective directive = binding.Components.DirectiveFactory.Create(binding, member);

            plan.Directives.Add(directive);
        }
		/*----------------------------------------------------------------------------------------*/
		/// <summary>
		/// Creates an injection directive for the specified field.
		/// </summary>
		/// <param name="binding">The binding.</param>
		/// <param name="field">The field to create the directive for.</param>
		/// <returns>The created directive.</returns>
		public FieldInjectionDirective Create(IBinding binding, FieldInfo field)
		{
			var directive = new FieldInjectionDirective(field);
			directive.Argument = CreateArgument(binding, new FieldTarget(field));

			return directive;
		}