2014-01-23 3 views
0

서버에 파일 경로가 있는지 확인하여 작업 할 수 있는지 확인하려고합니다. 현재 테스트 목적으로 localhost를 서버로 사용하고 있습니다. if (File.Exists(filePath1)) 경로를 찾았지만 서버에 액세스하지 않고 로컬로 파일을 찾습니다.parm 값을 사용하여 파일이 존재하는지 어떻게 확인합니까?

filePath1이 있는지 어떻게 확인할 수 있습니까? 솔루션을 배포하기 전에 다음 매개 변수 값을 사용하여 테스트하고 있습니다. 클래스 ParmNames에서

매개 변수 값 :

filePath1 = "C:\\Users\\smithj\\Documents\\file.txt"

server1 = "localhost"

public class class1 
{ 
    FileRules putFileRH = new FileRules(); 
    List<IRuleParameter> FileParms = new List<IRuleParameter>(); 

    private bool Method1() 
    {  
     FileParms.Add(new RuleParms(ParmNames.SourceServer, server1.ToString(), string.Empty)); 
     FileParms.Add(new RuleParms(ParmNames.FileName, filePath1, string.Empty)); 

     foreach (var server in FileParms) //not sure if this actually goes through each server or through each parm in FileParms 
     { 
      //if (File.Exists(filePath1))   first attempt 
      if (File.Exists(server.ValueEnvironment)) //this attempt doesn't find the file 
      { 
       ... 
       return true; 
      } 
      else 
      { 
       ... 
       return false; 
      } 
      return true; 
     } 
    } 
} 

IRuleParameter 인터페이스 :

여기
public interface IRuleParameter 
{ 
    string Name { get; } 
    string ValueEnvironment { get; } 
    string ValueType { get; } 
} 
+0

같은 (문제에 관련된 모든 조각을 보여줍니다 최소한의 코드를 입력하십시오 'IRuleParameter') –

답변

1

주어진 이름의 모든 규칙을 찾고 해당 규칙의 일부 또는 전부를 확인하려는 것처럼 보입니다. 현재 샘플로 ... 상태를 확인하기 위해 필요에 따라 원하는 규칙과 Any 또는 All를 필터링 Where를 사용 Any 충분해야한다 :

var fileExists = FileParms 
    .Where(r => r.Name == ParmNames.FileName) // find all "File names" 
    .Any(r =>File.Exists(r.ValueEnvironment) // check if any of the files exist 
2

당신이 server.FileName 확인해야합니다 (또는 당신이 뭐든 RuleParms 클래스 R의 속성 이름) 당신의 foreach 루프 server에서

if (File.Exists(server.ValueEnvironment)) 
{ 
     return true; 
} 

가 나타내는 당신의 당신이 숙박 시설의 점검 할 필요가 item.So RuleParms 현재. FileNamefilePath1 값을 보유하는 속성 이름이어야합니다.

+0

그것은 다음과 같은 오류를주었습니다 :''IRuleParameter에는 FileName에 대한 정의가 없습니다. '' –

+0

당신에게 말 했잖아요. 'RuleParms' 클래스 나'IRuleParameter' 인터페이스를 제공하십시오 –

+0

@JohnSmith 그것은 매개 변수 순서에 따라'ValueEnvironment'이어야합니다. 그러나 확실하지 않습니다. –

관련 문제