3流プログラマのメモ書き

元開発職→現社内SEの三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(.Net)キャストを動的に行いたい

例えば、外部ファイルに値とそれに対応する型が書かれており、それを.Netアプリで読み込んだ時に、ファイルに記述された型に合わせて値を変数化してやりたいといった場合の方法です。

この場合、Convert.ChangeType メソッドを使ってやるといいようです。

Type castType = Type.GetType( "System.Int32");
object setvalue = Convert.ChangeType("1234", castType);

しかし、その場合結果の変数はobject型にしてやらないといかんですよね。
さすがに、変数の型自体を振り分けるには型名をキーにifかswitchで振り分けるしかなさそうです。