public override FieldInfo[] GetFields(BindingFlags bindingAttr) { var al = new ArrayList(); var hEnum = new IntPtr(); int fieldToken; try { while (true) { uint size; m_importer.EnumFields(ref hEnum, (int)m_typeToken, out fieldToken, 1, out size); if (size == 0) { break; } // [Xamarin] Expression evaluator. var field = new MetadataFieldInfo(m_importer, fieldToken, this); if (MetadataExtensions.TypeFlagsMatch(field.IsPublic, field.IsStatic, bindingAttr)) { al.Add(field); } } } finally { m_importer.CloseEnum(hEnum); } return((FieldInfo[])al.ToArray(typeof(FieldInfo))); }
public override FieldInfo[] GetFields(BindingFlags bindingAttr) { ArrayList al = new ArrayList(); IntPtr hEnum = new IntPtr(); int fieldToken; try { while (true) { uint size; ((IMetadataImport2)m_importer).EnumFields(ref hEnum, (int)m_typeToken, out fieldToken, 1, out size); if (size == 0) { break; } MetadataFieldInfo field = new MetadataFieldInfo(m_importer, fieldToken, this); if (FlagsMatch(field.IsPublic, field.IsStatic, bindingAttr)) { al.Add(field); } } } finally { m_importer.CloseEnum(hEnum); } return((FieldInfo[])al.ToArray(typeof(FieldInfo))); }