InvalidCastException
이 표시되며 이유를 모르겠습니다.InvalidCastException이 발생하는 이유가 확실하지 않습니다.
public static void AddToTriedList(string recipeID)
{
IList<string> triedIDList = new ObservableCollection<string>();
try
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
if (!settings.Contains("TriedIDList"))
{
settings.Add("TriedIDList", new ObservableCollection<Recipe>());
settings.Save();
}
else
{
settings.TryGetValue<IList<string>>("TriedIDList", out triedIDList);
}
triedIDList.Add(recipeID);
settings["TriedIDList"] = triedIDList;
settings.Save();
}
catch (Exception e)
{
Debug.WriteLine("Exception while using IsolatedStorageSettings in AddToTriedList:");
Debug.WriteLine(e.ToString());
}
}
AppSettings.cs : 여기
예외 제기 코드입니다 (추출물)// The isolated storage key names of our settings
const string TriedIDList_KeyName = "TriedIDList";
// The default value of our settings
IList<string> TriedIDList_Default = new ObservableCollection<string>();
...
/// <summary>
/// Property to get and set the TriedList Key.
/// </summary>
public IList<string> TriedIDList
{
get
{
return GetValueOrDefault<IList<string>>(TriedIDList_KeyName, TriedIDList_Default);
}
set
{
if (AddOrUpdateValue(TriedIDList_KeyName, value))
{
Save();
}
}
}
GetValueOrDefault<IList<string>>(TriedIDList_KeyName, TriedIDList_Default)
및 AddOrUpdateValue(TriedIDList_KeyName, value)
는 Microsoft에서 권장하는 일반적인 방법이 있습니다를, 전체 코드 here을 찾을 수 있습니다.
편집 : 나는이 라인에서 예외를 가지고 :
settings.TryGetValue<IList<string>>("TriedIDList", out triedIDList);
* * 예외는 무엇입니까? 어느 선 이요? – Will
오류를 생성하는 특정 행을 식별하기 위해 디버거를 밟으면 매우 유용합니다. – paulsm4
죄송합니다. 작성하는 것을 잊어 버립니다. 예외는 여기에서 발생합니다 : settings.TryGetValue> ("TriedIDList", out triedIDList); –