2013-12-10 3 views
5

असेंबली के प्रकारों के अतिरिक्त संसाधन जोड़ने के लिए प्रोविडड टाइप एपीआई का उपयोग करते समय, जेनरेटिव टाइप प्रदाता के लिए यह संभव है?क्या टाइपप्रोवाइडर उत्पन्न असेंबली में संसाधन जोड़ सकता है?

मैं अपने प्रदाता द्वारा निर्मित ठोस प्रकारों के साथ उत्पन्न विशिष्ट संसाधनों में निर्माण करना चाहता हूं। यदि यह संभव है, तो मैं इसे कैसे पूरा करूं?

+0

+1 मैं हाल ही में इस बारे में सोच रहा हूं। –

+0

@ जैकपी। ऐसा लगता है कि यह सीधे संभव नहीं है - यद्यपि यदि आप स्वयं प्रदाता प्रदाता के लिए नलसाजी लिखते हैं, तो आपके द्वारा उत्पन्न असेंबली के संसाधनों को मिश्रित किया जाता है। अब कुछ और विस्तृत प्रयोगों को सत्यापित करने की कोशिश कर रहा है, हालांकि मुझे लगता है कि यह उस मामले में काम करता है। नमूने में प्रोविडड टाइप एपीआई/बेस क्लास के साथ इसे कैसे करें, यह न देखें। –

+0

धन्यवाद, यह जानना अच्छा है। –

उत्तर

1

क्या यह एक ही असेंबली में होना चाहिए? आप केवल प्रकार उत्पन्न कर सकते हैं, आपके पास असेंबली का कोई नियंत्रण नहीं है जो F # उत्पन्न करता है, लेकिन यदि इसे एक ही असेंबली में होने की आवश्यकता नहीं है, तो हो सकता है कि आप मैन्युअल रूप से संसाधनों के साथ एक असेंबली उत्पन्न कर सकें और उसके बाद जेनरेट किए गए प्रकार प्रदाता का संदर्भ लें । लेकिन यह शायद एक लंबा शॉट होगा

+0

यह मूल रूप से किसी अन्य असेंबली को संदर्भित करने के लिए मजबूर करेगा, हालांकि, सही? निश्चित नहीं है कि उस मामले में मूल असेंबली के उन प्रकारों तक पहुंच कैसे होगी। –

+0

मुझे लगता है कि उत्पन्न प्रकार प्रदाताओं में आप हमेशा एक और असेंबली का संदर्भ देते हैं, लेकिन मुझे यकीन नहीं है क्योंकि मैंने केवल मिटाए गए प्रकार प्रदाताओं को विकसित किया है। https://github.com/dmitry-a-morozov/fsharp-wpf-mvc-series/wiki/INotifyPropertyChanged- टाइप- प्रदाता और https://github.com/colinbull/JavaTypeProvider उत्पन्न प्रकारों का उपयोग करें, उन पर एक नज़र डालें उदाहरण के लिए –

+0

हां - जेनरेट किए गए प्रकार प्रदाता के साथ, यह एक और असेंबली और स्थैतिक लिंक बनाता है। प्रोवाइड टाइप्स एपीआई/उदाहरण हमेशा उस एपीआई का उपयोग एफ # कोटेशन का उपयोग करके उस असेंबली को बनाने के लिए करते हैं, जो वास्तव में साफ और अच्छा है (और यह नलसाजी प्रदान करता है इंटेलिजेंस के लिए प्रकार निर्दिष्ट करने के लिए, आदि)। बस यह सुनिश्चित न करें कि उस सभी नलसाजी काम को फिर से शुरू किए बिना ऐसा करने का कोई तरीका है - लेकिन संदेह नहीं है कि यह संभव नहीं है :( –

संबंधित मुद्दे