2012-02-21 3 views
-1

이 메서드는 OSVersion이라는 클래스의 일부입니다. 콘솔 응용 프로그램에서 이것을 테스트 할 때 정상적으로 작동합니다. Count가 현재 컨텍스트에 없습니다. 누군가는 이것에 약간 빛을 비춰 주실 수 있습니까.이름 수는 현재 컨텍스트에 없습니다.

public static bool OperatingSystemVersionGet() 
     { 
      XmlDocument xlDoc = new XmlDocument(); 
      string sfile = 
       @"C:\dev\4.6\RTM\R1\Install\SetupManager\SourceCode.SetupManager\SourceCode.SetupManager\Configs\blackpearl\Product.config"; 

      xlDoc.Load(sfile); 
      XmlNodeList nodeList = xlDoc.SelectNodes("//dependancy"); 

      List<string> compareList = new List<string>(); 

      string osv = Environment.OSVersion.VersionString; 

      int firstIndex = osv.IndexOf(' '); 
      int secondIndex = osv.IndexOf(' ', firstIndex + 1); 
      int thirdIndex = osv.IndexOf(' ', secondIndex + 1); 

      String osName = osv.Substring(0, thirdIndex); 
      String majorVersion = osv.Substring(thirdIndex + 1, 1); 
      String minorVersion = osv.Substring(thirdIndex + 3, 1); 

      bool isIn = false; 

      if (nodeList != null) 
       foreach (XmlNode node in nodeList) 
       { 
        try 
        { 

          string type = node.Attributes["type"].Value; 
          string name = node.Attributes["name"].Value; 
          string feat = node.Attributes["featureversion"].Value; 

          String[] versionPart = feat.Split('.'); 

          string second = versionPart[1]; 
          string third = versionPart[2]; 

           if (type == "Windows") 
           { 
            if((name == osName) && ((second == majorVersion) && (third == minorVersion))) 
            { 
             compareList.Add(name); 
            } 

           } 


        } 
        catch(NullReferenceException ex) 
        { 
         //nullReferenceException handled here 
        } 
       } 

      if(compareList.Count == 0) 
      { 
       isIn = true; 
      } 
      else 
      { 
       isIn = false; 
      } 
      return isIn; 

     } 
+0

compareList를 초기화하는 위치가 표시되지 않습니다. 그러나, 그것은 당신이리스트의'compare' 엘레멘트에 접근하려고 시도하는 것처럼 보입니다. 대신에 .size()를 찾으려는 곳? – PenguinCoder

+1

반환 값은 "return compareList.Count> 0"이 될 수 있다는 것을 제외하고는 아무런 문제가 없습니다. – alexsuslin

+0

@PenguinCoder : 그는 10 번째 라인에서'compareList'를 초기화하고'Count'는'List'의 올바른 속성입니다. 그러나'size' 메쏘드는 없습니다. –

답변

3

당신은 당신이 컴파일 시간에 솔루션을 청소하고 재 구축하는

시도를이받을 수 있다고 말한다.

오류가 보이지 않고 현재 프로젝트에서 함수 복사본을 만들었으며 오류없이 컴파일했습니다!

+0

프로젝트의 일부 메소드가 계속해서 xml 파일을 작성하는 중입니다. 약간 조정하면,이 방법이 잘 작동하는 것 같습니다. 나에게 이해가되지 않지만, 지금은 효과가있다. 고맙습니다 – p0enkie

0

winforms 앱의 소스 파일 상단에 using System.Collections.Generic이 거의없는 것 같습니다.

+0

처음부터 그랬습니다. – p0enkie

관련 문제