@@ -176,12 +176,12 @@ static Queryable()
176176 }
177177 break ;
178178 case nameof ( System . Linq . Queryable . ElementAt ) :
179- if ( parameters . Length == 2 ) {
179+ if ( parameters . Length == 2 && parameters [ 1 ] . ParameterType == WellKnownTypes . Int32 ) {
180180 ElementAt = methodInfo ;
181181 }
182182 break ;
183183 case nameof ( System . Linq . Queryable . ElementAtOrDefault ) :
184- if ( parameters . Length == 2 ) {
184+ if ( parameters . Length == 2 && parameters [ 1 ] . ParameterType == WellKnownTypes . Int32 ) {
185185 ElementAtOrDefault = methodInfo ;
186186 }
187187 break ;
@@ -205,7 +205,7 @@ static Queryable()
205205 case 1 :
206206 FirstOrDefault = methodInfo ;
207207 break ;
208- case 2 :
208+ case 2 when parameters [ 1 ] . ParameterType . IsAssignableTo ( WellKnownTypes . Expression ) :
209209 FirstOrDefaultWithPredicate = methodInfo ;
210210 break ;
211211 }
@@ -264,7 +264,7 @@ static Queryable()
264264 case 1 :
265265 LastOrDefault = methodInfo ;
266266 break ;
267- case 2 :
267+ case 2 when parameters [ 1 ] . ParameterType . IsAssignableTo ( WellKnownTypes . Expression ) :
268268 LastOrDefaultWithPredicate = methodInfo ;
269269 break ;
270270 }
@@ -284,7 +284,7 @@ static Queryable()
284284 case 1 :
285285 Max = methodInfo ;
286286 break ;
287- case 2 :
287+ case 2 when parameters [ 1 ] . ParameterType . IsAssignableTo ( WellKnownTypes . Expression ) :
288288 MaxWithSelector = methodInfo ;
289289 break ;
290290 }
@@ -294,7 +294,7 @@ static Queryable()
294294 case 1 :
295295 Min = methodInfo ;
296296 break ;
297- case 2 :
297+ case 2 when parameters [ 1 ] . ParameterType . IsAssignableTo ( WellKnownTypes . Expression ) :
298298 MinWithSelector = methodInfo ;
299299 break ;
300300 }
@@ -362,7 +362,7 @@ static Queryable()
362362 case 1 :
363363 SingleOrDefault = methodInfo ;
364364 break ;
365- case 2 :
365+ case 2 when parameters [ 1 ] . ParameterType . IsAssignableTo ( WellKnownTypes . Expression ) :
366366 SingleOrDefaultWithPredicate = methodInfo ;
367367 break ;
368368 }
@@ -398,7 +398,7 @@ static Queryable()
398398 }
399399 break ;
400400 case nameof ( System . Linq . Queryable . Take ) :
401- if ( parameters . Length == 2 ) {
401+ if ( parameters . Length == 2 && parameters [ 1 ] . ParameterType == WellKnownTypes . Int32 ) {
402402 Take = methodInfo ;
403403 }
404404 break ;
0 commit comments