Orcas Mar 2007 CTP から STL/CLR を引っこ抜いて眺めてるんですけど。
これ以前の版とはちょっと変わってます。 ややこしいのは相変わらず。
たとえば cliext::vector<T> のクラス・ハイアラキ:
※ 導出→基底
cliext::vector<T>
→ cliext::impl::vector_select<T>
→cliext::impl::vector_base<T>
→System::Collections::Generic::ICollection<T>
→System::Collections::Generic::IEnumerable<T>
→System::Collections::Generic::IList<T>
→cliext::impl::vector_impl<T>
→Microsoft::VisualC::StlClr::IVector<T>
なので vector<T> は ICollection<T>, IEnumerable<T>, IList<T>
であり IVector<T> でもあるっちゅー。
templateで実装されていることもありアセンブリの外に持ち出すことができないんだけど、
上記interfaceなら外に出せます。こいつがC#やらVBやらとの接続点となるワケや。