mono/mono — pull request #1446 by odinserj (2014-12-08 19:05:37+00:00)
Title: Add DateTimeOffsetConverter to the default converters list.

This PR solves the https://bugzilla.xamarin.com/show_bug.cgi?id=25158 bug.

`TypeDescriptor.GetConverter(typeof(DateTimeOffset))` does not return `DateTimeOffsetConverter`. Instead, it returns the default converter. The following test will fail on Mono, but will pass on .NET Framework:

```csharp
Assert.AreEqual (typeof (DateTimeOffsetConverter), TypeDescriptor.GetConverter (typeof (DateTimeOffset)).GetType ());
```

The problem is that the `DateTimeOffsetConverter` class is not being registered in the [list of default converters](https://github.com/mono/mono/blob/master/mcs/class/System/System.ComponentModel/TypeDescriptor.cs#L411). But it is registered in such a list in .NET Framework as we can see [from ReferenceSource site](http://referencesource.microsoft.com/#System/compmod/system/componentmodel/ReflectTypeDescriptionProvider.cs,136). The problem causes `NotSupportedException` to be thrown when trying to serialize/deserialize `DateTimeOffset` values to/from string.