जैसा कि अन्य ने पहले से ही बताया है, संकलित सदस्यों के नाम ठीक उसी तरह हैं जैसा आपने एफ # कोड में लिखा था। सामान्य रूप से, कक्षाओं की घोषणा करते समय मानक सी # नामकरण सम्मेलनों का पालन करना एक अच्छा विचार है। एफ # मॉड्यूल घोषित करते समय आप camelCase
(खासकर मॉड्यूल के लिए जो एफ # उपयोगकर्ताओं के लिए लक्षित हैं) या PascalCase
का उपयोग कर सकते हैं यदि आप उन्हें सी # से उपयोग करना चाहते हैं।
इसके अलावा, एक चाल है जिसका आप उपयोग कर सकते हैं (यह List.map
जैसे कार्यों के लिए एफ # कोर लाइब्रेरी में उपयोग किया जाता है जो वास्तव में List.Map
के रूप में संकलित किए जाते हैं)। आप संकलित संस्करण में नाम निर्दिष्ट करने के CompiledName
विशेषता का उपयोग कर सकते हैं:
module Bar =
[<CompiledName("Foo")>]
let foo a = a + 1
यह एक एकीकृत नामकरण परंपरा का उपयोग करने के शायद बेहतर है, लेकिन आप एफ # उपयोगकर्ताओं और मानक नेट के लिए एक अच्छी लघु नाम रखना चाहते हैं सी # उपयोगकर्ताओं के लिए नाम, यह एक दिलचस्प विकल्प है।
स्रोत
2010-10-01 18:52:49
धन्यवाद, जिज्ञासा से, क्या आप यह भी जानते हैं कि सी # में एफ # में कैसे निशुल्क कार्य करता है? क्योंकि सी # में एफ # जैसे मुक्त फ़ंक्शन नहीं हो सकते हैं। –
एफ # में मॉड्यूल सी # में स्थिर कक्षाओं की तरह दिखाई देते हैं। ध्यान दें कि एफ # में 'टॉप-स्तरीय' कोड मॉड्यूल में है; जैसे 'Program.fs' में शीर्ष-स्तरीय कोड को 'प्रोग्राम' नामक मॉड्यूल में संकलित किया गया है और इसलिए सी #' Program.blah' देखेंगे। लेकिन यदि आप सी # (दस्तावेज़ में सिफारिशों के अनुसार) के साथ इंटरऑप करना चाहते हैं तो सार्वजनिक एफ # मॉड्यूल से बचें। दूसरे शब्दों में, दस्तावेज़ पढ़ें; हमने इस तरह के सवालों के जवाब देने के लिए इस सारी जानकारी को एक साथ रखा है। – Brian
धन्यवाद ब्रायन, मुझे नहीं पता था कि आप एफ # देवों में से एक थे। बीटीडब्ल्यू संकलित नाम का उपयोग करने के लिए स्वीकार्य है क्योंकि टॉमस ने उनके जवाब में उल्लेख किया है? यह दोनों दुनिया के सर्वश्रेष्ठ की तरह लगता है। –