2013-12-10 36 views
5

生成類型提供程序在使用ProvidedTypes API時是否可以向程序集添加類型以外的資源?TypeProvider可以將資源添加到生成的程序集中嗎?

我想建立與我的提供者構建的具體類型一起生成的特定資源。如果這是可能的,我將如何實現它?

+0

+1我最近一直在想這個。 –

+0

@JackP。看起來它不是直接可能的 - 儘管如果你自己爲類型提供者編寫管道,你生成的程序集中的資源似乎混雜在一起。現在嘗試一些更詳細的實驗來驗證,儘管我認爲它適用於這種情況。不過,沒有看到如何使用樣本中的ProvidedTypes API /基類來完成它。 –

+0

謝謝,很高興知道。 –

回答

1

它需要在同一個程序集中嗎?您只能生成類型,您無法控制F#生成的程序集,但如果它不需要在同一個程序集中,也許可以手動生成帶有資源的程序集,然後使用生成的類型提供程序來引用。但它可能會是一個長鏡頭

+0

這基本上會強制它引用另一個程序集,但是,對不對?不確定在這種情況下原始程序集將如何訪問這些類型。 –

+0

我認爲在生成的類型提供者中你總是引用另一個程序集,但我不確定,因爲我只開發了擦除類型的提供者。 https://github.com/dmitry-a-morozov/fsharp-wpf-mvc-series/wiki/INotifyPropertyChanged-Type-Provider和https://github.com/colinbull/JavaTypeProvider使用生成的類型,看看它們例如 –

+0

是的 - 使用生成的類型提供程序,它會創建另一個程序集並將其鏈接到靜態鏈接中.ReferencesTypes API /示例始終使用該API使用F#語句構建該程序集,這非常乾淨而且很好(它提供了管道指定智能感知的類型等)。不知道是否有辦法做到這一點,而不用重做所有的管道工作 - 但懷疑它不可能:( –

相關問題