.NET Frameworkの代表的なコレクションとかいいつつ非ジェネリックって…?なんぞこれ。
CodeZineにて
.NET Frameworkの代表的なコレクションと使い方
http://codezine.jp/article/detail/3640
という記事がありまして、結構な数のはてブをゲットしている人気記事のようでした。
でもなんで?というのが正直な感想です。「なんで?」の意味するところは2つあって、1つは、
どうして今、わざわざ非ジェネリックコレクションの利用を助長するかのような記事がCodeZineで掲載されるのかという疑問。
2つ目は、どうしてこの記事が結構なはてブをゲットするほど注目されているのかという疑問です。
ジェネリック型を利用することによる可読性の向上や、ボックス化のないタイプセーフで
高パフォーマンスなメリットをわざわざ殺してまで、非ジェネリック型を利用する理由が全く見当たらない。
必要になるようなケースが思いつかない。仮にどうしてもごちゃ混ぜの型をコレクションに
ぶっこみたいような場合は、最悪List
.NET Framework1.xを使わなければならない環境にある人のみを対象とするのであれば、
有意義な記事かとは思うのですが。どーも、そーいうふうな書きくちではないようでしたので。
最近話題にあがることが多いGenerics(総称型)を使ったコレクションではなく、
Collections直下の機能を使う最大の利点は、サポートされているフレームワークの幅が広いという点にあります。
って、どうもズレてますね。.NET Framework2.0以降が利用できるのであれば、
非ジェネリック型のコレクションをわざわざ使う理由は、これっぽっちもないわけですから。
■関連記事
OrderedDictionaryクラスのジェネリック対応してみた。System.Collections.Specialized 名前空間以下のコレクションはジェネリック対応されていないんだよね。