我正在C#中爲「實驗」構建一個.NET程序集加載器/學習更多關於.NET內部操作的知識。我已經通過派生類型等實現的反射API:爲什麼`Assembly`和`Module`沒有公開定義的構造函數?
- RuntimeType:類型
- RuntimeFieldInfo:字段信息
- RuntimeMethodInfo:MethodInfo的
- RuntimeParameterInfo:的ParameterInfo
- RuntimeConstructorInfo:ConstructorInfo
- RuntimePropertyInfo:物業信息
不幸的是我有麻煩了,因爲下面有沒有可公開訪問的構造函數,所以我不能從中獲得:
- 大會(非密封 - AssemblyBuilder內部從它派生)
- 模塊(未密封 - ModuleBuilder是內部派生而來的)
我需要一些東西從RuntimeType.get_Assembly
和RuntimeType.get_Module
返回。建議?發揮創意 - 我不得不。 ;)爲了創建RuntimeTypeHandle
實例,一些不安全的指針轉換可以完成任務,但在這裏並不容易。
順便說一句:現在特別的麻煩是我試圖漂亮地打印加載類型的IL。對於構建的仿製藥,Type.FullName
屬性包含通過AssemblyQualifiedName
屬性的通用參數,該屬性依次依賴於Assembly
屬性。
如果是這樣的話,那麼它的無論是新的.NET 4或.NET 2. – 2009-08-01 21:11:35