Оператор "expr.[idx]" использовался, как объект неопределенного типа, основываясь на информации до данной точки программы. ...

Оператор "expr.[idx]" использовался, как объект неопределенного типа, основываясь на информации до данной точки программы. Попробуйте добавить дополнительные ограничения типа