2013-12-10 9 views
5

È possibile per un provider di tipo generativo, quando si utilizza l'API ProvidedTypes, aggiungere risorse oltre ai tipi all'assieme?Un TypeProvider può aggiungere una risorsa all'assieme generato?

Mi piacerebbe creare risorse specifiche generate insieme ai tipi di calcestruzzo costruiti dal mio provider. Se questo è possibile, come lo realizzerei?

+0

+1 Mi sono chiesto questo di recente. –

+0

@JackP. Sembra che non sia direttamente possibile, anche se si scrive da soli l'impianto idraulico per il fornitore del tipo, le risorse dell'assieme che si genera sembrano essere mescolate. Provare ora alcuni esperimenti più dettagliati per verificare, anche se penso che funzioni in quel caso. Tuttavia, non vedo come farlo con l'API/classi di base ProvidedTypes negli esempi. –

+0

Grazie, è bello saperlo. –

risposta

1

Ha bisogno di essere nello stesso gruppo? È possibile generare solo tipi, non si ha il controllo dell'assieme generato da F #, ma se non è necessario che sia nello stesso assembly, è possibile generare un assembly con le risorse manualmente e quindi utilizzare un provider di tipi generati per fare riferimento a tale . Ma probabilmente sarà un lungo tiro

+0

Questo fondamentalmente lo costringerebbe a fare riferimento a un altro assembly, però, giusto? Non sono sicuro di come l'assembly originale avrebbe avuto accesso a quei tipi in quel caso. –

+0

Penso che nei provider di tipi generati facciate sempre riferimento ad un altro assembly, ma non sono sicuro di aver sviluppato solo provider di tipi cancellati. https://github.com/dmitry-a-morozov/fsharp-wpf-mvc-series/wiki/INotifyPropertyChanged-Type-Provider e https://github.com/colinbull/JavaTypeProvider utilizzano i tipi generati, dai un'occhiata a loro per esempi –

+0

Sì: con un provider di tipi generati crea un altro assembly e stabilisce collegamenti statici. Gli API/esempi ProvidedTypes utilizzano sempre quell'API per creare quell'assembly utilizzando le citazioni F #, che è davvero pulito e piacevole (e fornisce l'impianto idraulico per specificare i tipi per intellisense, ecc.). Solo non sono sicuro se c'è un modo per farlo senza rifare tutto quel lavoro idraulico da solo - ma sospetto che non sia possibile :( –

Problemi correlati