public PropertyExportDescriptor(IDependencyTarget target, PropertyInfo targetProperty)
 {
     Ensure.NotNull(target, "target");
     Ensure.NotNull(targetProperty, "targetProperty");
     Target         = target;
     TargetProperty = targetProperty;
 }
        public bool Equals(IDependencyTarget other)
        {
            ImportAttributeTarget target = other as ImportAttributeTarget;

            if (target == null)
            {
                return(false);
            }

            return(Type == target.Type && Name == target.Name);
        }
Beispiel #3
0
        public override bool IsTargetMatch(IDependencyTarget target)
        {
            target.EnsureNotNull(nameof(target));
            //
            var targetType = (target as ITypeDependencyTarget)?.TargetType?.Resolve();

            if (targetType == null)
            {
                return(false);
            }
            else
            {
                var dependencyType = Type?.Resolve();
                return(dependencyType != null && dependencyType.IsAssignableFrom(targetType));
            }
        }
Beispiel #4
0
 public abstract bool IsTargetMatch(IDependencyTarget target);
        private Tuple <IDependencyExportDescriptor, BootstrapTaskDescriptor> FindExportDescriptor(IDependencyTarget target)
        {
            foreach (BootstrapTaskDescriptor descriptor in descriptors)
            {
                foreach (IDependencyExportDescriptor exportDescriptor in descriptor.Exports)
                {
                    if (exportDescriptor.Target.Equals(target))
                    {
                        return(new Tuple <IDependencyExportDescriptor, BootstrapTaskDescriptor>(exportDescriptor, descriptor));
                    }
                }
            }

            return(null);
        }