Кастинг обычно используется для предоставления компилятору дополнительной информации. У вас нет этой информации во время компиляции, поэтому вы не можете передать ее компилятору.
Кроме того, цель приведения обычно заключается в том, что вы можете добраться до некоторого члена класса, который не был бы известен иначе - но если вы не знаете класс до времени выполнения, как вы можете узнать членов?
В некоторых случаях это было бы неплохо, но они довольно необычны. Что вы пытаетесь сделать с экземпляром после его создания? Если вы пытаетесь вызвать методы, о которых вы do знаете во время компиляции, вы можете сделать эти методы частью интерфейса и привести к interface ?