Использование .NET 3.5 и C # 3.0,
IList list = new List<bool?>();
list.Add(null);
Это вызывает исключение ArgumentException, которое кажется неправильным.
List<bool?> list = new List<bool?>();
list.Add(null);
Отлично работает.
Это ошибка в коде Microsoft, тогда?
Пример того, как создать такую ошибку в реальной ситуации:
new JavaScriptSerializer().Deserialize<List<bool?>>("[true, false, null]");