예제 #1
0
        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));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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;
 }