◆ オブジェクトブラウザ―
◆  IntelliSense

C# というか .NET Framework? ってクラス多すぎですよね

JavaScript でも十分すぎる量だと思ってるのにそれと比べて遥かに多いです
配列っぽいものなんて 配列だけでいいのに Array やら ArrayList やら Queue やら List やら LinkedList やら なにこんないっぱいつくってるの!!


動的な言語じゃない分なにするにも型を作らないといけないので色々必要なのかとは思いますが 多すぎて覚えることを放棄したくなりますね
JavaScript っぽくて気軽に使えるかなーと思ったけど意外と大変そう

構造がわかりづらいので見やすく表示する機能にオブジェクトブラウザーというのがあります

vsob01


ツリービューでクラスなどを確認できます
enum とか構造体もありますし クラスを選べばメソッドやプロパティも見れます
継承構造もわかります

ただ ツリービューでも アセンブリとネームスペースとクラスが混ざってるので意外と探してるものを見つけるのは大変です
ネームスペースもクラスも階層構造を持てる上 どちらも 「.」 で同じように下の階層にアクセスするので今見てるものが何なのかもよくわからなくなってきます

例えば Generic 版の Collections のクラスどんなのあるかを探すとします
System.Collections.Generic とわかってるので System アセンブリを開いてみると

vsob02

LinkedList や Stack などがありました
でもなにか足りない

探してみると mscorlib という 全クラスの元になる Object も定義されている .NET Framework のコア部分のアセンブリにも System.Collections.Generic が存在しました

vsob01

下の方

こんな感じで 別アセンブリでも同じネームスペースにクラスが定義されてることがあります
アセンブリ単位で見るならともかく System.Collections.Generic に何があるのか のようなときは IntelliSense のほうがいいのかも

vsob03