2012-06-20 2 views
1

일련의 불린을 settings.cs 파일에 저장하려고합니다. 다음은 현재 저장 방법입니다.설정 파일에 플래그 속성 enum을 저장합니다.

private void SaveConfiguration() 
    { 
     VisibilitySwitchesFlags VisibilitySwitchesSaves = 0; 

     if (_menu.TreeItemDictionary[VisibilityItems.ReferenceLines].Checked) 
     VisibilitySwitchesSaves = VisibilitySwitchesFlags.ReferenceLinesChecked; 

     if (_menu.TreeItemDictionary[VisibilityItems.ShowProfilePoints].Checked) 
     VisibilitySwitchesSaves = VisibilitySwitchesFlags.ShowProfilePointsChecked; 

     Settings.Default.VisibilityViewStates = (int)VisibilitySwitchesSaves;//convert to int 
     Settings.Default.Save(); 
    } 

여기 내 부하 방법 : 부하 후

private void LoadConfiguration() 
    { 
    VisibilitySwitchesFlags flags =(VisibilitySwitchesFlags)Settings.Default.VisibilityViewStates; 

    _menu.TreeItemDictionary[VisibilityItems.ReferenceLines].Checked = flags.HasFlag(VisibilitySwitchesFlags.ReferenceLinesChecked); 
    _menu.TreeItemDictionary[VisibilityItems.ShowProfilePoints].Checked = flags.HasFlag(VisibilitySwitchesFlags.ShowProfilePointsChecked); 
    } 

, 내 저장이 실패 할 것으로 보인다. 내 접근 방식에 실수가 있습니까?

답변

2

플래그 열거 형이라면 설정을 다르게해야합니다. 예를 들어

:

VisibilitySwitchesSaves |= VisibilitySwitchesFlags.ReferenceLinesChecked; 
관련 문제