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;
**
それについて私を案内してもらえますか..
貴重なご意見お待ちしております