https://msdn.microsoft.com/ja-jp/library/ms173105.aspx
>実行時の型変換の例外
>一部の参照型変換では、コンパイラはキャストが有効になるかどうかを判断できません。正常にコンパイルされるキャスト操作が、実行時に失敗する可能性があります。

実行時にならないと判断できないことが多すぎるC#はバグの温床。
バグを減らすためにもC#を使うのはやめなければなりません。
こんなインタプリタみたいな仕様ではデバッグに時間がかかりすぎます。