public CommonAttribute GetCommonAttribute(IMetadataCustomAttribute metadataCustomAttribute) { var type = GetCommonType(metadataCustomAttribute.UsedConstructor.NotNull().DeclaringType); var positionalArguments = metadataCustomAttribute.ConstructorArguments.Select(GetPositionalArgument).WhereNotNull(); var namedArguments = metadataCustomAttribute.InitializedFields.Select(GetNamedArgument) .Concat(metadataCustomAttribute.InitializedProperties.Select(GetNamedArgument)).WhereNotNull(); return(new CommonAttribute(type, positionalArguments, namedArguments)); }
public CommonAttribute GetCommonAttribute(IMetadataCustomAttribute metadataCustomAttribute) { var type = GetCommonType(metadataCustomAttribute.UsedConstructor.DeclaringType); var positionalArguments = metadataCustomAttribute.ConstructorArguments.Select(GetPositionalArgument).WhereNotNull(); var namedArguments = metadataCustomAttribute.InitializedFields.Select(GetNamedArgument) .Concat(metadataCustomAttribute.InitializedProperties.Select(GetNamedArgument)).WhereNotNull(); return new CommonAttribute(type, positionalArguments, namedArguments); }
private static string GetAttributeName(IMetadataCustomAttribute attribute) { IMetadataMethod constructor = attribute.UsedConstructor; if (constructor == null) { return(null); } IMetadataTypeInfo declaringType = constructor.DeclaringType; if (declaringType == null) { return(null); } return(declaringType.FullyQualifiedName); }
public static string GetSubjectString(this IMetadataEntity type) { var attributes = GetSubjectAttributes(type); if (attributes.Count != 1) { var asMember = type as IMetadataTypeMember; if (asMember != null && asMember.DeclaringType != null) { return(asMember.DeclaringType.GetSubjectString()); } return(null); } IMetadataCustomAttribute attribute = attributes.First(); string[] parameterNames = attribute.ConstructorArguments.Select(GetParameterName).ToArray(); return(string.Join(" ", parameterNames)); }
public static CommonAttribute ToCommon(this IMetadataCustomAttribute metadataCustomAttribute) { return(IntrospectionUtility.Instance.GetCommonAttribute(metadataCustomAttribute)); }
public MetadataAttributeInfoAdapter(IMetadataCustomAttribute attribute) { _attribute = attribute; }
public static IAttributeInfo AsAttributeInfo(this IMetadataCustomAttribute attribute) { return new MetadataAttributeInfoAdapter(attribute); }
public MetadataAttributeInfoAdapter2(IMetadataCustomAttribute attribute) { this.attribute = attribute; }