2013-09-23 8 views
-1

안녕하세요 사용자가 "/ A"또는 "/ W"와 같은 검색 끝에 플래그를 지정할 수 있도록 검색 문자열을 좁혀 야합니다. 이것은 wpf 및 MVVM입니다. 나는 그것을 속성에 넣으려고했지만 작동하지 않는 것처럼 보입니다. 내가 그 물건을 물건에 넣을 수 없다면 어디로 가져 가야합니까?마지막 두 문자의 문자열을 어디에 넣어야합니까?

public NavDataType Type 
    { 

     get 
     { 
      return _type; 
     } 
     set 
     { 
      if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/A") 
       _type = NavDataType.Airport; 
      if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/W") 
       _type = NavDataType.Waypoint; 
      if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/N") 
       _type = NavDataType.Navaid; 
      SetProperty(ref _type, value, "Type"); 

     } 
    } 
+0

그냥 메모. if 문에서 논리를 취합니다 : _type.ToString(). 하위 문자열 (_type.ToString(). 길이 - 2, 2) 결과를 변수에 저장하여 계산할 필요가 없도록합니다. 반복해서. –

+2

'if (_type.ToString(). EndsWith ("/ A"))와 같이 string.EndsWith를 사용해야합니다. – Habib

+0

사용자가 여러 개의 플래그를 가질 수 있습니까? 즉 "Something/A/W"? – Jonesopolis

답변

0
 if (_type.ToString().Substring(_type.ToString().Length - 2, 2) == "/N") 
      _type = NavDataType.Navaid; 
     SetProperty(ref _type, value, "Type"); 

문제는 당신이 문이있는 경우 (작동 올바르게 기능)에 _type을 설정하고 있지만 다음 SetProperty 호출 그것이 전달 받았을 때 무엇 이건 value했다 것을 덮어 쓰기된다는 점이다.

관련 문제