public Metadata(IAspectOrientedMetadata metadata, IEnumerable <object> attributes) { Type = default(Type); Order = null; Tag = default(object); foreach (var attribute in attributes) { if (!(attribute is Attribute attributeValue)) { continue; } if (Type == default(Type) && metadata.TryGetType(attributeValue, out var curType)) { Type = curType; } if (Order == null && metadata.TryGetOrder(attributeValue, out var curOrder)) { Order = curOrder; } if (Tag == default(object) && metadata.TryGetTag(attributeValue, out var curTag)) { Tag = curTag; } if (Type != default(Type) && Order != null && Tag != default(object)) { break; } } }
public AspectOrientedAutowiringStrategy([NotNull] IAspectOrientedMetadata metadata) { _metadata = metadata ?? throw new ArgumentNullException(nameof(metadata)); }