Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        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)));
        }