एफ # इंटरएक्टिव (एफएसआई) में, आप इंटरैक्टिव सत्र में एक प्रकार के लिए सुंदर प्रिंटिंग प्रदान करने के लिए AddPrinter
या AddPrinterTransformer
का उपयोग कर सकते हैं। मैं सामान्य प्रकार के लिए ऐसा प्रिंटर कैसे जोड़ सकता हूं? प्रकार के लिए वाइल्डकार्ड _
का उपयोग करना काम नहीं करता:मैं जेनेरिक प्रकार के लिए एफएसआई के लिए एक सुंदर प्रिंटर कैसे जोड़ूं?
> fsi.AddPrinter(fun (A : MyList<_>) -> A.ToString());;
प्रिंटर उपयोग नहीं कर रहा है।
> fsi.AddPrinter(fun (A : MyList<'T>) -> A.ToString());;
fsi.AddPrinter(fun (A : MyList<'T>) -> A.ToString());;
-------------------------------^^
d:\projects\stdin(70,51): warning FS0064: This construct causes code
to be less generic than indicated by the type annotations. The type
variable 'T been constrained to be type 'obj'.
जो नहीं है मैं क्या चाहते हैं, या तो:
एक प्रकार पैरामीटर में लाना भी एक चेतावनी देता है।
मुझे पूरा यकीन है कि यह संभव नहीं है। एक प्रकार के तर्क के लिए एक ठोस प्रकार की आवश्यकता होती है। – Daniel
क्या आप 'MyList <'T>' के लिए 'ToString' ओवरराइड कर सकते हैं? – Daniel