【问题标题】:Accessing external Assembly Reflection访问外部装配反射
【发布时间】:2017-06-21 15:24:16
【问题描述】:

我对 Reflection 有点陌生,并且已经完成了一些基本示例,但我不知道如何实现我的目标。

我有一个小型控制台应用程序,我想从中调用程序集。在这种情况下,程序集是一个包含多个类的类库,我想要实现的是列出我的所有类及其子类和父类。

       Assembly asm = Assembly.LoadFrom(@"C:\Sandbox\Functions\Bin\Debug\Functions.dll");

       Type T = asm.GetType();

所以我已经加载了文件,但我不确定现在去哪里,如何使用元数据来访问必要的文件和类。希望能提供一些建议或对其他示例的参考(我试图搜索)。

【问题讨论】:

  • 你的问题是什么?到目前为止,您尝试过什么?
  • 所以我的问题是我想知道如何访问适当的数据,比如我的类名等。但是我找不到包含我需要继续前进的正确方法的文档。 @米格罗
  • Assembly.GetTypes() 将返回一个类型列表。从那里你可以继续前进。
  • @tjapple 这里有一个简单的教程:dotnetcademy.net/Learn/4/Pages/1
  • 也是我需要的,谢谢。 @米格罗

标签: c# reflection system.reflection


【解决方案1】:

只要用谷歌搜索你想要做什么,几乎所有你想用反射做的事情都是以某种形式或形式的堆栈溢出......

Assembly asm = Assembly.LoadFrom(@"C:\Sandbox\Functions\Bin\Debug\Functions.dll");

foreach (Type t in asm.GetTypes())
{
    //... t.FullName
    //... t.GetAllBaseClassesAndInterfaces
    //... t.GetNestedTypes 
}

https://stackoverflow.com/a/1315668/588734

Given a C# Type, Get its Base Classes and Implemented Interfaces

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 2019-05-25
    • 2012-06-09
    • 1970-01-01
    相关资源
    最近更新 更多