【问题标题】:Create a application like Visual studio object Browser创建像 Visual Studio 对象浏览器这样的应用程序
【发布时间】:2011-10-19 20:15:48
【问题描述】:

我想开发像 Visual Studio 对象浏览器这样的应用程序,即用户将输入类似 System.Text 命名空间或系统类的内容。单击按钮后,我们必须找出“System.Text”中的所有类、函数、属性等。

我尝试了以下方法,但失败了。

        Assembly SampleAssembly;
        SampleAssembly = Assembly.Load("System.Text");

        Type[] Types = SampleAssembly.GetTypes();
        // Display all the types contained in the specified assembly.
        StringBuilder str = new StringBuilder();

        foreach (Type oType in Types)
        {
            str.Append(oType.Name.ToString() + "</br>");
        }
        divAsseblyData.InnerHtml = str.ToString();

【问题讨论】:

  • 是的,收到错误 FileNotFound 异常?第 2 行:SampleAssembly = Assembly.Load("System.Text");
  • 不存在“System.Text”程序集;它只是 mscorlib.dll 中的一个命名空间。重写代码以加载 mscorlib,然后导航到 System.Text 命名空间。
  • 好的,谢谢 Edwin 先生..这是对的!..在 mscorlib.dll 中我如何导航 System.Text 或 System.Web?

标签: c# asp.net asp.net-mvc object browser


【解决方案1】:

'System.Text' 是命名空间而不是程序集,所以我假设您要加载程序集 'System'。

要将 Assembly.Load() 与字符串参数一起使用,您需要传递程序集的完全限定名称。

要获得完全限定名称,您可以执行以下操作:

Assembly SampleAssembly;
SampleAssembly = Assembly.Load(typeof(System.Activator).Assembly.FullName);
// get the type of some random object in the assembly (Activator) and then
// call .Assembly.FullName which returns the fully qualified name of the assembly

或者您可以按Win + R,输入“Assembly”并输入,然后右键单击->您需要的程序集的属性并手动设置属性代码格式:

“mscorlib,版本=2.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”

SampleAssembly = Assembly.Load("mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

【讨论】:

  • 这是查找程序集名称的绝妙技巧!
  • 好的,非常感谢 Razan Panda 先生。你能分享下一步做什么。!即在 mscorlib.dll 中我如何导航 System.Text 或 System.Web?
  • @Justin:导航是什么意思?你需要做什么?
  • @Razan :导航意味着即。实际上我需要获取一个类的所有属性,函数名。如果用户输入“String.Text.StringBuilder”类,那么我必须向他们展示该类的所有属性和方法。请帮助我..!
  • @Justin:查看stackoverflow.com/questions/3196504/…这篇文章中的示例,了解如何获取班级成员
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 2015-05-06
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2022-08-20
相关资源
最近更新 更多