2013-12-10 29 views
5

ProvidedTypes API'sini kullanırken, derleme türlerine ek olarak kaynak eklemek için bir üretici türü sağlayıcı için kullanılabilir mi?Bir TypeProvider oluşturulan derleme bir Kaynak ekleyebilir miyim?

Sağlayıcım tarafından oluşturulan beton türleri ile birlikte oluşturulan belirli kaynaklarda oluşturmak istiyorum. Eğer bu mümkün olursa, nasıl başarabilirim?

+0

+1 Bu konuda kendimi son zamanlarda merak ettim. –

+0

@JackP. Doğrudan mümkün değil gibi görünüyor - tür sağlayıcı için sıhhi tesisat kendiniz yazıyorsanız, oluşturduğunuz derlemeden kaynakların karışmış gibi görünüyor. Doğrulamak için bazı ayrıntılı deneyler denemeye çalışıyorum, ancak bu durumda çalıştığını düşünüyorum. Bununla birlikte, örneklerde ProvidedTypes API/temel sınıflarıyla nasıl yapıldığını görmeyin. –

+0

Teşekkürler, bilmek güzel. –

cevap

1

Aynı montajda olması gerekmiyor mu? Yalnızca tür üretebilir, F # 'nin oluşturduğu derleme kontrolünüz yoktur, fakat eğer aynı montajda olması gerekmiyorsa, kaynaklarla manuel olarak bir derleme oluşturabilir ve daha sonra bunu yapmak için oluşturulan tip sağlayıcıyı kullanabilirsiniz. . Ancak muhtemelen uzun bir atış olacak

+0

Bu, temel olarak başka bir meclise referans vermeye zorlayacaktı, değil mi? Orijinal montajın bu durumda bu türlere nasıl erişeceğinden emin değil. –

+0

Ben her zaman başka bir derleme başvurduğunuz oluşturulan tür sağlayıcıları düşünüyorum, ancak ben sadece silinen tip sağlayıcıları geliştirdiğimden emin değilim. https://github.com/dmitry-a-morozov/fsharp-wpf-mvc-series/wiki/INotifyPropertyChanged-Type-Provider ve https://github.com/colinbull/JavaTypeProvider oluşturulan türleri kullanın, onlara bir göz atın örnekler için –

+0

Evet - oluşturulan bir sağlayıcı ile, başka bir derleme oluşturur ve onu statik olarak bağlar. ProvidedTypes API'leri/örnekleri her zaman bu API'yi gerçekten temiz ve hoş olan F # alıntılarını kullanarak bu derlemeyi oluşturmak için kullanır (ve sıhhi tesisat sağlar intellisense türlerini belirtmek vb. Sadece bu sıhhi tesisat işini kendim yapmadan yapmanın bir yolu olup olmadığından emin değilim - ama mümkün olmadığını şüpheleyin :( –

İlgili konular