メタプログラミングについて

メタ(meta) は「高次な」という意味の接頭語です。
なので、メタプログラミングはプログラムをプログラミングするという意味になります。

業務でプログラムを書いていても、メタプログラミングをする機会はほとんどないかもしれません。私もほとんどありません。

私の場合は、似たような処理やクラスを大量に書く場面が出てきたときに、メタプログラミングを検討します。
よくあるのは、人を大量に投入する人海戦術で対応することだと思います。でも、投入できる人がいないこともよくあります。メタプログラミングを上手く使えると、少ない工数で対応することができます。

C#でメタプログラミングというとリフレクションがよく使われると思います。他にもT4(Text Template Transformation Toolkit)や式木などがあります。
一時期、T4をよく使っていたのですが、ググってもあまり情報が無かった記憶があるので、次回から紹介してみようと思います。

いいなと思ったら応援しよう!