A couple of fixes for TimeZoneInfo.ConvertTime.
[mono.git] / mcs / class / System.Core / System.Linq / Queryable.cs
index 8c4a68fdb59bedda3d39b668e4d102e3c9bf53a4..b2fedba0c2fc353e5f41cacb429a88eb9625aa7e 100644 (file)
@@ -158,13 +158,12 @@ namespace System.Linq {
                        if (queryable != null)
                                return queryable;
 
-                       var type = source.GetType ();
-
-                       if (!type.IsGenericImplementationOf (typeof (IEnumerable<>)))
+                       Type ienumerable;
+                       if (!source.GetType ().IsGenericImplementationOf (typeof (IEnumerable<>), out ienumerable))
                                throw new ArgumentException ("source is not IEnumerable<>");
 
                        return (IQueryable) Activator.CreateInstance (
-                               typeof (QueryableEnumerable<>).MakeGenericType (type.GetFirstGenericArgument ()), source);
+                               typeof (QueryableEnumerable<>).MakeGenericType (ienumerable.GetFirstGenericArgument ()), source);
                }
 
                #endregion