ふと思っただけなんだけれど。

int a = 1;
object b = a;
int c = b; ←ここ

上の「ここ」の部分を、b.GetType() とかを利用して動的にキャストしてビルドを通すことって可能ですか?