簡體   English   中英

在asp.net中創建靜態對象列表

[英]Creating a list of static objects in asp.net

是否可以檢索在當前appdomain中創建的所有靜態對象? 我正在嘗試為現有的asp.net網站編寫調試頁。 它在基於單例對象的緩存中保存了大量信息。

謝謝

以下是一些入門知識:

IList<Assembly> assemblies = AppDomain.CurrentDomain.GetAssemblies();

List<Type> allTypes = new List<Type>();

foreach (Assembly assembly in assemblies)
{
    var types = from t in assembly.GetTypes()
                where bootStrapperType.IsAssignableFrom(t)
                    && !t.IsInterface && !t.IsAbstract
                select t;

    allTypes.AddRange(types);
}

foreach(Type type in allTypes)
{
    var fieldsPublic = type.GetFields(BindingFlags.Public|BindingFlags.Static);
    foreach(var field in fieldsPublic)
    {
       var nameAndValue = field.Name + " = " + field.GetValue(null);
       // Do something
    }
    var fieldsPrivate = type.GetFields(BindingFlags.Private|BindingFlags.Static);
    foreach(var field in fieldsPrivate)
    {
       var nameAndValue = field.Name + " = " + field.GetValue(null);
       // Do something.
    }
}

我已經遇到這個這個較早前。 但是,您需要知道包含那些靜態字段的類型。 但是您可以像這樣遍歷所有已加載的程序集並檢查每種類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM