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); }
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)); } }
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); }