मेरे पास एक एफ # वर्ग है जो कई रचनाकारों के साथ एक .net वर्ग से निकला है। उन सभी को बेनकाब करने के लिए, मैं एक प्रकार का प्राथमिक कन्स्ट्रक्टर के साथ लागू करता हूं। अब मैं एक स्थिर क्षेत्र जोड़ना चाहता हूं। मैं स्थैतिक क्षेत्र कैसे शुरू करूं? इस पर विचार करें:एफ # में, मैं किसी भी प्रकार के प्राथमिक कन्स्ट्रक्टर वाले स्थिर फ़ील्ड को कैसे प्रारंभ करूं?
type MyType =
inherit DotNetType
[<DefaultValue>] static val mutable private myStatic : int
new() = { inherit DotNetType() }
new (someArg:string) = { inherit DotNetType(someArg) }
अब, मैं कैसे एक तरीका है कि ठीक एक बार चलता है, तो प्रकार प्रयोग किया जाता है, और बिल्कुल नहीं करता है, तो प्रकार इस्तेमाल कभी नहीं किया है में "myStatic" क्षेत्र को प्रारंभ करते हैं? अनिवार्य रूप से, मुझे सी # स्थिर कन्स्ट्रक्टर ब्लॉक के बराबर की आवश्यकता है।
चाहेंगे कि आपकी समस्या का समाधान: https://msdn.microsoft.com /en-us/library/dd483473.aspx? – MarcinJuraszek
नहीं, ऐसा नहीं होगा क्योंकि मेरे प्रकार में प्राथमिक निर्माता नहीं है। एक "स्थैतिक डू" मुझे यह त्रुटि प्राप्त करता है: "स्टेटिक वैल्यू डेफिनिशन केवल प्राथमिक कन्स्ट्रक्टर वाले प्रकारों में उपयोग किया जा सकता है। टाइप परिभाषा में तर्क जोड़ने पर विचार करें, उदाहरण के लिए 'टाइप एक्स (args) = ...'। हालांकि, उत्तर के लिए धन्यवाद। –