Mono.Cecilを使用して、Regex.CompileToAssembly()
で生成されたアセンブリを読み取っています。型を反復処理すると、ルート名前空間には<Module>
という名前の型が1つあります。型には基本型がありません。このタイプは何ですか?これはMono.Cecilアーティファクトなのか、それとも.NETアセンブリの実際の部分なのでしょうか?それはどのような役割を果たしますか?「<Module>」タイプとは何ですか?
5
A
答えて
7
<Module>
タイプは、CLIモデルに適合しない宣言のプレースホルダです。通常、管理モードで書かれたコードだけでなく、CやC++のような管理されていないコードの両方を含む、混在モードのアセンブリにのみ関係します。純粋に管理されたアセンブリでは空です。
これらの言語は、フリー関数とグローバル変数をサポートしています。 CLRは直接サポートしていません。メソッドと変数は常に型のメンバーでなければなりません。したがって、メタデータジェネレータは簡単なトリックを使用しますが、そのような関数や変数の拠点となる偽の型を作成します。その偽のタイプの名前は<Module>
です。メンバーを非表示にするには、常に内部アクセシビリティが必要です。これらのタイプのうちの1つだけが存在し、そのRIDは常に1です。
CLRソースコードは、それを「グローバルクラス」と呼びます。
関連する問題
- 1. 1 << 0とは何ですか?
- 2. Typescript:タイプURLとは何ですか?
- 3. 迅速に '()'タイプとは何ですか?
- 4. kdb + capital Cタイプとは何ですか?
- 5. 順不同タイプとは何ですか?
- 6. タイプGUIDとは何ですか?
- 7. Javaの「SAMタイプ」とは何ですか?
- 8. このリテラルのタイプは何ですか? <code>mgo</code>ドキュメントから
- 9. Elastic Searchのインデックスとタイプ(インデックスタイプ)とは何ですか? <strong>弾性検索</strong>の文脈では
- 10. Swiftでは+++と<<<は何ですか?
- 11. クラス "タイプ"と特定のタイプの関係は何ですか?
- 12. Rubyでは "<< - "とは何ですか?たとえば
- 13. aspxの<%:と<%=と<%#の違いは何ですか?
- 14. ''は<alias>とは何ですか?
- 15. PHPで "<<< SQL"とは何ですか?
- 16. ISecureDataFormat <TData>とは何ですか?
- 17. Nullable <T>とは何ですか?
- 18. Vec <_>とは何ですか?
- 19. <aaa>とは何ですか?
- 20. <iosfwd>ヘッダーとは何ですか?
- 21. httpd <defunct>とは何ですか?
- 22. <%$ %> asp.netマークアップタグとは何ですか?
- 23. Cの<と<<の違いは何ですか?
- 24. <_wmi_namespace:<COMObject <unknown>>とは何ですか?
- 25. では、<xsl:if test = "。[foo or @bar]">とは何か、クロスブラウザソリューションとは何ですか?
- 26. cout << coutとcout <<とcoutの違いは何ですか?
- 27. h5pyでは、タイプ "| O"とは何ですか?
- 28. 以下のコードスニペットでf.write << TEMPLATEとは何ですか?
- 29. wsdlファイルのMIMEタイプは何ですか?
- 30. SharePoint - タイプは何ですか。数字フィールド