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); }
public override bool Equals(object obj) { PropertyInfoImpl other = obj as PropertyInfoImpl; return(other != null && other.DeclaringType == declaringType && other.index == index); }