GetCustomAttribute() 개인적인 메소드

private GetCustomAttribute ( ) : CustomAttributeBuilder
리턴 System.Reflection.Emit.CustomAttributeBuilder
예제 #1
0
 internal CustomAttributeBuilder[] GetCustomAttributeBuilders(bool getForProperty)
 {
     this.customAttributes = new ArrayList(this.list.Count);
     for (int i = 0, n = this.list.Count; i < n; i++)
     {
         CustomAttribute ca = (CustomAttribute)this.list[i];
         if (ca == null)
         {
             continue;
         }
         if (ca.raiseToPropertyLevel)
         {
             if (!getForProperty)
             {
                 continue;
             }
         }
         else
         if (getForProperty)
         {
             continue;
         }
         CustomAttributeBuilder attribute = ca.GetCustomAttribute();
         if (attribute != null)
         {
             this.customAttributes.Add(attribute);
         }
     }
     CustomAttributeBuilder[] result = new CustomAttributeBuilder[this.customAttributes.Count];
     this.customAttributes.CopyTo(result);
     return(result);
 }
        internal CustomAttributeBuilder[] GetCustomAttributeBuilders(bool getForProperty)
        {
            this.customAttributes = new ArrayList(this.list.Count);
            int num   = 0;
            int count = this.list.Count;

            while (num < count)
            {
                CustomAttributeBuilder builder;
                CustomAttribute        attribute = (CustomAttribute)this.list[num];
                if (attribute == null)
                {
                    goto Label_0062;
                }
                if (attribute.raiseToPropertyLevel)
                {
                    if (getForProperty)
                    {
                        goto Label_004B;
                    }
                    goto Label_0062;
                }
                if (getForProperty)
                {
                    goto Label_0062;
                }
Label_004B:
                builder = attribute.GetCustomAttribute();
                if (builder != null)
                {
                    this.customAttributes.Add(builder);
                }
Label_0062:
                num++;
            }
            CustomAttributeBuilder[] array = new CustomAttributeBuilder[this.customAttributes.Count];
            this.customAttributes.CopyTo(array);
            return(array);
        }