/*----------------------------------------------------------------------------------------*/ /// <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; }