public void Initialization() { var method = MethodInfo.GetCurrentMethod(); var customAttributeData = GetCustomAttributeData <DomainAspectAttribute> (method); var constructor = NormalizingMemberInfoFromExpressionUtility.GetConstructor(() => new DomainAspectAttribute("")); var result = new AttributeConstruction(customAttributeData); Assert.That(result.ConstructorInfo, Is.EqualTo(constructor)); Assert.That(result.ConstructorArguments, Has.Count.EqualTo(1)); Assert.That(result.NamedArguments, Has.Count.EqualTo(1)); }
public Aspect Build(ICustomAttributeData attributeData) { var attribute = attributeData.CreateAttribute <AspectAttributeBase>(); // throw if no aspectattributebase var construction = new AttributeConstruction(attributeData); var pointcut = _pointcutBuilder.Build(attributeData); var priorityArgument = attributeData.NamedArguments.SingleOrDefault(x => x.MemberInfo.Name == "Priority"); var priority = priorityArgument == null ? 0 : (int)priorityArgument.Value; return(Build(attributeData.Type, attribute, construction, pointcut, priority)); }