今日のテーマは動的(dynamic)です。 最初に注意しておきたいのは、動的と言っても何を動的に行うか、いろんなやり方があって、いろんな用途があります。動的ローディング、動的コード生成、動的型付けなどなど、「動的~」の「~」の部分をちゃんと考えましょう。 動的ローディング 既知の型を、未知のDLLから読み込みます。 例えば以下のような感じ。System.Reflection.AssemblyクラスのLoadメソッドなどを使ってDLLを読み込んで、System.Activator.Createメソッドでインスタンスを作ります。 インスタンスを作る部分だけ面倒ですが、一度インスタンスを作ってしまえば、あとは普通に(特に苦労することなく)使えます。 用途1: プラグイン プラグイン、つまり、アプリ本体とは別の第3者がアプリへの拡張機能を提供する場合、まさに、既知の型を未知のDLLから読み込むこと