System.Reflection
特定のクラス()から継承されたクラスを(を使用して)アセンブリで検索していSystem.Web.UI.Page
ます。
これらの継承されたクラスはすべて、私のWebにページがあります。
.aspx
(Webルートに対して)ファイルパスも読み取るにはどうすればよいですか?
このパスをファイルから読み取ることができることはわかってい.pdb
ますが、このファイルはライブサーバーに存在しません。
混乱を避けるために編集 してください。これが私のコードのサンプルです。doSomeProcessは正確なプロセスではありません。実際、クラス自体を受け取り、それも分析します。ただし、このコードサンプルでは重要ではありません。
using System;
using System.IO;
using System.Reflection;
namespace ... {
public class FixPaths: System.Web.UI.Page {
void SearhcAssembly(){
Assembly library = Assembly.GetExecutingAssembly();
string FileName = Path.GetFileName(library.Location);
foreach (Type type in library.GetTypes()) {
if (FileName == type.Module.Name) {
if (type.BaseType != null && (type.BaseType.FullName == "System.Web.UI.Page")) {
string NameSpace = type.Namespace;
string ClassName = type.Name;
// -- This need to be changed --
string PageUrl = "/" + type.Namespace.ToLower().Replace(".", "/") + "/" + type.Name + ".aspx";
// -------------------------------------
doSomeProcess(NameSpace, ClassName, PageUrl);
}
}
}
}
}
}