メタプログラミングと互換性

 参照型かどうかのチェックは(type.IsValueType == false)だと思うのだけど、これが正しいのかどうか良く知らない。けど正しいものとして、とりあえず.NET Frameworkがバージョンアップして、値型でも参照型でもない第三の型が現われた時に、この指定は正しくなくなる。まあメタプログラミングにまで互換性を求めるのは無理なんだろうな。