मैं DecimalConverter
और Int32Converter
कक्षाएं, जो असंगत परिणाम लौटने लगते हैं के साथ किसी समस्या में चल रहा हूँ, के रूप में निम्नलिखित सरल सांत्वना कार्यक्रम द्वारा प्रदर्शन:टाइपकॉन्टर प्राचीन प्रकार के लिए टूटा?
using System;
using System.ComponentModel;
class App
{
static void Main()
{
var decConverter = TypeDescriptor.GetConverter(typeof(decimal));
Console.WriteLine("Converter: {0}", decConverter.GetType().FullName);
Console.WriteLine("CanConvert from int to decimal: {0}", decConverter.CanConvertFrom(typeof(int)));
Console.WriteLine("CanConvert to int from decimal: {0}", decConverter.CanConvertTo(typeof(int)));
Console.WriteLine();
var intConverter = TypeDescriptor.GetConverter(typeof(int));
Console.WriteLine("Converter: {0}", intConverter.GetType().FullName);
Console.WriteLine("CanConvert from int to decimal: {0}", intConverter.CanConvertTo(typeof(decimal)));
Console.WriteLine("CanConvert to int from decimal: {0}", intConverter.CanConvertFrom(typeof(decimal)));
}
}
इस से उत्पादन इस प्रकार है के रूप में:
Converter: System.ComponentModel.DecimalConverter
CanConvert from int to decimal: False
CanConvert to int from decimal: True
Converter: System.ComponentModel.Int32Converter
CanConvert from int to decimal: False
CanConvert to int from decimal: False
जब तक मैं TypeConverters गलत तरीके से समझने रहा हूँ, निम्नलिखित सच धारण करना चाहिए:
TypeDescriptor.GetConverter(typeof(TypeA)).CanConvertFrom(typeof(TypeB))
कम से कम System.Int32
और System.Decimal
के मामले में
TypeDescriptor.GetConverter(typeof(TypeB)).CanConvertTo(typeof(TypeA))
के रूप में एक ही परिणाम देना चाहिए, वे नहीं है।
मेरा प्रश्न यह है: क्या किसी को पता है कि यह डिज़ाइन द्वारा है या नहीं? या C# वास्तव में टूटा हुआ देशी प्रकारों के लिए TypeConverters हैं?
मुझे समझ में नहीं आता कि JSON को deserializing करते समय आपको 'int' से 'दशमलव' रूपांतरित करने की आवश्यकता कैसे होती है, क्योंकि JSON में तार होते हैं,' int 'नहीं। – svick
मैंने स्पष्ट करने के लिए अपना प्रश्न बढ़ाया है। मुझे एहसास है कि मैं संभवतः यह सुनिश्चित करके इसे संभाल सकता हूं कि मैं ब्राउज़र पर अपने रास्ते पर एक स्ट्रिंग के रूप में सब कुछ क्रमबद्ध करता हूं, लेकिन यह वास्तव में सवाल नहीं है, और अधिक प्रस्ताव है। – rossipedia