コード例 #1
0
        internal sealed override IEnumerable <PropertyInfo> SpecializeProperties(NameFilter filter, Type reflectedType, RoInstantiationProviderType declaringType)
        {
            MetadataReader reader = Reader;

            foreach (PropertyDefinitionHandle handle in TypeDefinition.GetProperties())
            {
                if (filter == null || filter.Matches(handle.GetPropertyDefinition(reader).Name, reader))
                {
                    yield return(new EcmaProperty(declaringType, handle, reflectedType));
                }
            }
        }
コード例 #2
0
        internal sealed override IEnumerable <MethodInfo> SpecializeMethods(NameFilter filter, Type reflectedType, RoInstantiationProviderType declaringType)
        {
            MetadataReader reader = Reader;

            foreach (MethodDefinitionHandle handle in TypeDefinition.GetMethods())
            {
                MethodDefinition methodDefinition = handle.GetMethodDefinition(reader);
                if (filter == null || filter.Matches(methodDefinition.Name, reader))
                {
                    if (!methodDefinition.IsConstructor(reader))
                    {
                        yield return(new RoDefinitionMethod <EcmaMethodDecoder>(declaringType, reflectedType, new EcmaMethodDecoder(handle, GetEcmaModule())));
                    }
                }
            }
        }