Cómo suprimir "La variable de iteración de VB no debería usarse en la expresión lambda"
Estoy trabajando con LINQ en VB.NET y a veces llego a una consulta como
For i = 0 To 10
Dim num = (From n In numbers Where n Mod i = 0 Select n).First()
Next
y luego viene la advertencia "El uso de la variable de iteración en una expresión lambda puede tener resultados inesperados. En su lugar, cree una variable local dentro del bucle y asígnele el valor de la variable de iteración ".
Sé que no es una buena práctica usar la variable de iteración en la expresión lambda, porque las expresiones lambda se evalúan solo cuando es necesario. (Esta pregunta es sobre eso)
Ahora mi pregunta es, cómo suprimir esta advertencia en casos donde la expresión se evalúa en el lugar, con construcciones como First (), Single (), ToList (), etc. (Es solo una advertencia, pero me gusta que mi código esté limpio .)
(Declarar una variable local y pasarle la variable de iteración es una opción, pero estoy buscando una solución limpia).