2016-03-24 8 views
0

自分のパスが変数で定義されていない場所が見つかりません。私がデバッグしているとき、私は表現の中にパス名を見る。未定義のパスi変数C#ビジュアルスタジオ

どうすれば変更できますか?ここで

は、私のコードの一部です:

private static string getPDFfilename(document theDoc) 
     { 

      string fullPathFilename = theDoc.MultiPagePdfFile; 
      string filenameWithoutPath = Path.GetFileName(fullPathFilename); 
      return filenameWithoutPath; 


     } 


     private static byte[] getEmbbeddedObj(document theDoc) 
     { 

       string filenameWithoutPath = theDoc.MultiPagePdfFile; 
       byte[] bytes = File.ReadAllBytes(filenameWithoutPath); 


       return bytes; 

     } 

エラー

theDoc.MultiPagePdfFile =「E:\ Ephesoft \最終ドロップフォルダ\ Decoline \ BI1450 \ LINDER SA_86846_DOC1.pdf 「

filenameWithoutPath = "E:\ Ephesoft最終ドロップフォルダ\ \ Decoline \ BI1450 \ LINDER SA_86846_DOC1.pdf"

+0

変更すると何ができますか?ここで何を達成しようとしていますか? 2番目のメソッドでは、変数filenameWithoutPathを呼び出しますが、それはtheDocオブジェクト(恐ろしい名前のbtw)からの完全なパスです。一方、最初にPath.GetFileName()を呼び出して "filenameWithoutPath"を取得します。それはあなたの問題ですか? – ManoDestra

+0

'getPDFfilename()'関数を実際に呼び出すことなく、他の関数で 'string filenameWithoutPath = theDoc.MultiPagePdfFile;'を実行します。 'Path.GetFileName()'はそれ自身で正常に動作するはずです。 –

+0

Yeeah ...あなたは実際には 'getPDFfilename()'を呼んでいません。 – Nyerguds

答えて

0

変数名 'filenameWithoutPath'に基づいて、パスなしでファイルの名前を取得しました。その場合は、System.IO名前空間でFileInfoを使用します。