2011-08-04 37 views
0

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

我尝试以下,但失败了。

 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(); 
+0

您是否遇到异常? –

+0

是的,得到错误FileNotFound异常?第2行:SampleAssembly = Assembly.Load(“System.Text”); – Justinonday

+1

没有像'System.Text'程序集这样的东西;它只是mscorlib.dll中的一个命名空间。重写代码以加载mscorlib,然后导航到System.Text命名空间。 –

回答

2

'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 

或者你也可以按 + [R,键入“集结号”并回车,然后右键单击 - 上>礼仪你在代码的格式需要和手动设置礼仪大会:

“mscorlib程序,版本= 2.0.0.0,文化=中性公钥= b77a5c561934e089”

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

这是一个查找程序集名称的棒极了! – Jacob

+0

好的,非常感谢你Razan Panda先生。你可以分享下一步该怎么做。!ie在mscorlib.dll中如何导航System.Text或System.Web? – Justinonday

+0

@Justin:你是什么意思导航?你需要做什么? –

相关问题