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.ApiKeys.Add가 호출
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; }
}
직후, 응용 프로그램이 나머지를 호출하지 않고는 (LoadGen2Data)에있는 방법에서 건너 뜁니다 Add 문을 닫은 다음 나머지 두 메서드 (LoadXiphosData 및 LoadTestConsumerData)를 호출하지 않고 LoadConfigurationData 메서드를 종료합니다.
foreach 루프의 맨 위로 이동하여 "name"값이 채워지고 APIKeys [count]가 합법적 인 값 (GUID)을 제공하는지 확인했습니다.
오류 메시지가 표시되지 않습니다. 다른 디버그 포인트는 잡히지 않으며 문제없이 (그리고 데이터가없는) 응용 프로그램 GUI를 이동할 수 있습니다.
문제는 무엇입니까?
감사합니다,
제이슨
코드가 충분하지 않습니다.이 전역 변수는 무엇입니까? 문제를 보여주는 짧지 만 완전한 * 프로그램을 만드십시오. 개인적으로 나는 어쨌든이 세상을 갖는 것을 피하려고 노력할 것입니다. 솔직히 말해서 ... –