C# (.NET Framework) のクラス構造
◆ オブジェクトブラウザ―
◆ IntelliSense
◆ IntelliSense
C# というか .NET Framework? ってクラス多すぎですよね
JavaScript でも十分すぎる量だと思ってるのにそれと比べて遥かに多いです
配列っぽいものなんて 配列だけでいいのに Array やら ArrayList やら Queue やら List やら LinkedList やら なにこんないっぱいつくってるの!!
動的な言語じゃない分なにするにも型を作らないといけないので色々必要なのかとは思いますが 多すぎて覚えることを放棄したくなりますね
JavaScript っぽくて気軽に使えるかなーと思ったけど意外と大変そう
構造がわかりづらいので見やすく表示する機能にオブジェクトブラウザーというのがあります

ツリービューでクラスなどを確認できます
enum とか構造体もありますし クラスを選べばメソッドやプロパティも見れます
継承構造もわかります
ただ ツリービューでも アセンブリとネームスペースとクラスが混ざってるので意外と探してるものを見つけるのは大変です
ネームスペースもクラスも階層構造を持てる上 どちらも 「.」 で同じように下の階層にアクセスするので今見てるものが何なのかもよくわからなくなってきます
例えば Generic 版の Collections のクラスどんなのあるかを探すとします
System.Collections.Generic とわかってるので System アセンブリを開いてみると

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

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

JavaScript でも十分すぎる量だと思ってるのにそれと比べて遥かに多いです
配列っぽいものなんて 配列だけでいいのに Array やら ArrayList やら Queue やら List やら LinkedList やら なにこんないっぱいつくってるの!!
動的な言語じゃない分なにするにも型を作らないといけないので色々必要なのかとは思いますが 多すぎて覚えることを放棄したくなりますね
JavaScript っぽくて気軽に使えるかなーと思ったけど意外と大変そう
構造がわかりづらいので見やすく表示する機能にオブジェクトブラウザーというのがあります

ツリービューでクラスなどを確認できます
enum とか構造体もありますし クラスを選べばメソッドやプロパティも見れます
継承構造もわかります
ただ ツリービューでも アセンブリとネームスペースとクラスが混ざってるので意外と探してるものを見つけるのは大変です
ネームスペースもクラスも階層構造を持てる上 どちらも 「.」 で同じように下の階層にアクセスするので今見てるものが何なのかもよくわからなくなってきます
例えば Generic 版の Collections のクラスどんなのあるかを探すとします
System.Collections.Generic とわかってるので System アセンブリを開いてみると

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

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