public override PropertyInfo[] __GetDeclaredProperties()
 {
     foreach (int i in module.PropertyMap.Filter(this.MetadataToken))
     {
         int            property   = module.PropertyMap.records[i].PropertyList - 1;
         int            end        = module.PropertyMap.records.Length > i + 1 ? module.PropertyMap.records[i + 1].PropertyList - 1 : module.Property.records.Length;
         PropertyInfo[] properties = new PropertyInfo[end - property];
         if (module.PropertyPtr.RowCount == 0)
         {
             for (int j = 0; property < end; property++, j++)
             {
                 properties[j] = new PropertyInfoImpl(module, this, property);
             }
         }
         else
         {
             for (int j = 0; property < end; property++, j++)
             {
                 properties[j] = new PropertyInfoImpl(module, this, module.PropertyPtr.records[property] - 1);
             }
         }
         return(properties);
     }
     return(Empty <PropertyInfo> .Array);
 }
Example #2
0
        public override bool Equals(object obj)
        {
            PropertyInfoImpl other = obj as PropertyInfoImpl;

            return(other != null && other.DeclaringType == declaringType && other.index == index);
        }