我有一个包含 4 个选项卡的 WPF 应用程序。Tab1 是应用程序加载的第一个选项卡。我有一个 Tab1Load 方法(选项卡的名称),它看起来像:
private void Tab1Load(object sender, RoutedEventArgs e)
{
myConfig.LoadConfigurationData();
XiphosDB.DataContext = Xiphos.XiphosDbNames;
}
myConfig 在 Window1.xaml.cs 文件的顶部声明
LoadConfigData myConfig = new LoadConfigData();
LoadConfigData 看起来像:
public void LoadConfigurationData()
{
LoadGen2Data();
LoadXiphosData();
LoadTestConsumerData();
}
第一个方法调用 LoadGen2Data 一直运行到最后,此时它将一个值设置为静态对象。电话是:
var count = 0;
foreach (var name in Gen2.allFiNames)
{
Gen2.ApiKeys.Add(name, APIKeys[count]);
Gen2.ConnectStrings.Add(name, connectStrings[count]);
Gen2.LongNames.Add(name, LongNames[count]);
count++;
}
Gen2 声明是:
public class Gen2
{
public static List<string> allFiNames { get; set; }
public static Dictionary<string, string> LongNames { get; set; }
public static Dictionary<string, string> ApiKeys { get; set; }
public static Dictionary<string, string> ConnectStrings { get; set; }
}
在调用 Gen2.ApiKeys.Add 之后,应用程序跳过它所在的方法 (LoadGen2Data) 而不调用其余的 Add 语句,然后退出 LoadConfigurationData 方法而不调用剩余的两个方法(LoadXiphosData 和 LoadTestConsumerData) .
进入 foreach 循环的顶部,我已验证“名称”值已填充,并且 APIKeys[count] 提供了合法值(GUID)。
我没有收到任何错误。没有其他调试点被捕获,我可以毫无问题地在应用程序 GUI 中移动(也没有数据)。
知道问题是什么吗?
谢谢,
杰森