2012-02-20 17 views
1

ディレクトリから最新のファイルをロードしようとしていますが、次のコードは機能しません。ひどく間違った何かを明らかにしていますか?ディレクトリ内の最新のファイルを見つける

Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XML Logs").OrderByDescending(Function(f) f.LastWriteTime).First() 

私は2件のエラーメッセージが出ます:「System.Linq.Enumerable」で定義「Public Function OrderByDescending(Of TKey)(keySelector As System.Func(Of String, TKey)) As System.Linq.IOrderedEnumerable(Of String)」拡張メソッドに型パラメータ(複数可)の

データ型(複数)は、これらの引数から推論することはできません。明示的にデータ型を指定すると、このエラーが修正される可能性があります。

とは:

'LastWriteTime' 'String' のメンバではありません。

+1

何を取得していますか? – Magnus

答えて

4

Linq関数に文字列の代わりにFileInfoオブジェクトを使用させることができます。

Dim myFile = Directory.GetFiles("C:\Users\Joe\Desktop\XMLLogs").OrderByDescending(Function(f) New FileInfo(f).LastWriteTime).First() 
+1

-1:OPはそれを行うことができます。あるいは、彼は単に@GSergが以下に述べるように、彼が使用しようとしているメソッド、単に 'DirectoryInfo.GetFiles()'を使うことができます。 –

+1

@JohnSaundersもう一つの可能​​な答えを提供していました。彼は答えとして文字列を望むかどうかを指定していない。 –

関連する問題