質問: ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/afb7fb61161892c67e08a1e735882caf.png) いま、PowerShellでCOMを使おうとしているのですが、上記スクショではインスタンス化したCOM objectのメソッドを補完しているように見えます。 しかし、参照元のアセンブリはコンパイル済みのdllファイルであり、高級言語の形ではないので、メソッドを参照できない気がするのですが、これはどういった仕組みなのでしょうか? そもそもどこか別の場所を参照しに行ってるのでしょうか? PHPなどならコンパイルしてないので補完できる気がするのですが...(その認識も間違っている?) コンパイル言語に触れたのがここ一週間なので、色々認識がズレているかもしれないのですが、ご回答頂けたら幸いです。
回答: COM のメンバーはタイプライブラリを使って取得します。 COM はレジストリに登録されることによって使えるようになりますが、そこに同時にタイプライブラリの情報も登録します。タイプライブラリは通常、拡張子 .tlb のファイルとして実装されます。 詳細については「タイプライブラリ」を検索してください。