让我们考虑一下我有 10 到 30 个 dll 的列表,我需要列出这些 dll 导入的所有命名空间。
我尝试使用反射作为以下代码
string[] fileEntries = Directory.GetFiles(sDir, "*.dll");
foreach (string fileName in fileEntries)
{
Assembly assembly = Assembly.LoadFrom(fileName);
List<string> namespaces = new List<string>();
foreach (var type in assembly.GetTypes())
{
string ns = type.Namespace;
if (!namespaces.Contains(ns))
{
namespaces.Add(ns);
Console.WriteLine(ns);
}
}
}
但它只检索那些 dll 的唯一名称空间。
例如让我们考虑一个程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace sample
{
public partial class sample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string pth = filepth("D:/sample1/s.txt");
createfile(pth);
Response.Write("File created on path :" + pth);
}
}
}
基于上面的代码,它只检索示例,但我需要检索所有用作
**
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
**
你能指导我吗..
等待您的宝贵意见