Ejemplo n.º 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));
        }
Ejemplo n.º 2
0
 public CSharpTypeBasedMetadataFactory(ITypeHandleSerializer typeHandleSerializer, CSharpTypeBasedMetadata.FactoryMethod factoryMethod)
 {
     m_TypeHandleSerializer = typeHandleSerializer;
     m_FactoryMethod        = factoryMethod;
 }