[Mono-dev] Patch to Fix CanConvertTo and ConverTo of/for primitive types.
Atsushi Eno
atsushieno at veritas-vos-liberabit.com
Sun Jan 24 22:41:28 EST 2010
Let's just check in the patch. Alex, thanks for creating it.
Atsushi Eno
Ivan Zlatev wrote:
> Hi and sorry for the delay,
>
> I think that I am the last to have touched the
> System.ComponentModel(.Design) namespaces and I think this patch looks
> good.
>
> Kind Regards,
>
> Ivan Zlatev
> http://ivanz.com
>
>
>
> On Wed, Jan 20, 2010 at 8:05 PM, Alexandre Miguel Pedro Gomes
> <alexmipego at gmail.com> wrote:
>
>> Hi again,
>>
>> Can't anyone review or comment on it? Where is the maintainer for the
>> System.ComponentModel modules?
>>
>> I would really like to have this committed ASAP so I can avoid patching my
>> sources when the next minor revision of Mono is released.
>>
>> Cheers,
>>
>> On Fri, Jan 15, 2010 at 20:28, Alexandre Miguel Pedro Gomes
>> <alexmipego at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I've detected a problem with type convertion when using the TypeConverters
>>> for a type. My initial test case for comparing Mono 2.4.* and trunk results
>>> with the .Net framework was as such:
>>>
>>> -- code --
>>> using System;
>>> using System.ComponentModel;
>>>
>>> namespace PrimitiveTests
>>> {
>>> class Program
>>> {
>>> static void Main(string[] args)
>>> {
>>> Type[] types = { typeof(Boolean),
>>> typeof(Byte),
>>> typeof(SByte),
>>> typeof(Int16),
>>> typeof(UInt16),
>>> typeof(Int32),
>>> typeof(UInt32),
>>> typeof(Int64),
>>> typeof(UInt64),
>>> typeof(IntPtr),
>>> typeof(UIntPtr),
>>> typeof(Char),
>>> typeof(Double),
>>> typeof(Single)};
>>>
>>> foreach(Type type in types)
>>> Console.WriteLine("CanConvert " + type + " to Int32? " +
>>> TypeDescriptor.GetConverter(type).CanConvertTo(typeof(Int32)));
>>>
>>>
>>> Console.WriteLine(TypeDescriptor.GetConverter(typeof(uint)).ConvertTo((uint)134,
>>> typeof(int)));
>>>
>>> Console.ReadKey();
>>> }
>>> }
>>> }
>>> -- code --
>>>
>>> This revealed that all primitives with a few exceptions (bool, intptr,
>>> char) should be allowed to be converted and Mono's CanConvertTo (and the
>>> actual conversion) was failing. I've created a patch and necessary unit
>>> tests to fix the issue and tested both with the previous script and with my
>>> (now patched) Mono 2.4.3 server's install.
>>>
>>> If someone could review, it would be appreciated. I can commit if the
>>> maintainer approves the code.
>>>
>>> Regards,
>>>
>>> --
>>> Alexandre Gomes
>>> http://www.alexandre-gomes.com
>>>
>>
>>
>> --
>> Alexandre Gomes
>> http://www.alexandre-gomes.com
>>
>> _______________________________________________
>> Mono-devel-list mailing list
>> Mono-devel-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>>
>>
>>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
More information about the Mono-devel-list
mailing list