Example #1
0
        ITypeMetadataResolver CreateMetadataResolver()
        {
            m_CSharpMetadataFactoryMethod = (th, t) => new CSharpTypeBasedMetadata(TypeHandleSerializer, MemberConstrainer, th, t);
            var typeBasedMetadataFactory       = new CSharpTypeBasedMetadataFactory(TypeHandleSerializer, m_CSharpMetadataFactoryMethod);
            var cachedTypeBasedMetadataFactory = new CachedTypeMetadataFactory(typeBasedMetadataFactory);

            m_GraphMetadataFactoryMethod = (th, t) => new GraphBasedMetadata(TypeHandleSerializer, th, t);
            var graphBasedMetadataFactory = new GraphBasedMetadataFactory(m_GraphMetadataFactoryMethod);

            var typeMetadataFactory = new TypeHandleMetadataFactory(cachedTypeBasedMetadataFactory, graphBasedMetadataFactory);

            return(new TypeMetadataResolver(typeMetadataFactory));
        }
Example #2
0
 public GraphBasedMetadataFactory(GraphBasedMetadata.FactoryMethod factoryMethod)
 {
     m_FactoryMethod = factoryMethod;
 }