gpt4 book ai didi

c# - 列出存储在 AppDomain 中的所有自定义数据

转载 作者:太空狗 更新时间:2023-10-29 18:25:16 26 4
gpt4 key购买 nike

为了在发生错误时存储进程状态,我想列出存储在 AppDomain 中的所有(自定义)数据(通过 SetData)。LocalStore 属性是私有(private)的,AppDomain 类不可继承。有没有办法枚举这些数据?

最佳答案

        AppDomain domain = AppDomain.CurrentDomain;
domain.SetData("testKey", "testValue");

FieldInfo[] fieldInfoArr = domain.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
foreach (FieldInfo fieldInfo in fieldInfoArr)
{

if (string.Compare(fieldInfo.Name, "_LocalStore", true) != 0)
continue;
Object value = fieldInfo.GetValue(domain);
if (!(value is Dictionary<string,object[]>))
return;
Dictionary<string, object[]> localStore = (Dictionary<string, object[]>)value;
foreach (var item in localStore)
{
Object[] values = (Object[])item.Value;
foreach (var val in values)
{
if (val == null)
continue;
Console.WriteLine(item.Key + " " + val.ToString());
}
}


}

关于c# - 列出存储在 AppDomain 中的所有自定义数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13763605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com