###前提・実現したいこと
こんにちは。いつもたいへんお世話になります。
本日はVisual Studio 2017 CommunityでDropboxのApplicationについてで困っていることがあります。
先の質問の継続質問になります。
Dropboxでファイルを取得するときに、日付順にソートして最後の値のデータを取得したいです。
LINQを使うと、ソートして最後であれば、
C#
1 .OrderBy(file => file.ClientModified) 2 .LastOrDefault();
となると思います。
じっさいのコードでは、
C#
1public async Task<Metadata> GetLatestFile() 2{ 3 var files = await client.Files.ListFolderAsync("/Image"); 4 var item = files.Entries 5 .Where(file => file.IsFile) 6 //.OrderBy(file => file.ClientModified)//この行を書けない。 7 .LastOrDefault(); 8 return item; 9}
となるかと。
###発生している問題・エラーメッセージ
VisualStudioでブレークポイントを置いて、filesとitemを見ると、filesのEntriesには、下記の通り、Dropbox.Api.Files.Metadataが入っていますが、コードで、そのなかでインテリセンスで書けるのは限られていて、その限られているなかに日付(ClientModifiedとServerModified)はありません。
OrderByをコメントアウトした状態では、単にファイル名の最後のファイルを取得してしまいます。
このようなときには、どうやってModifiedの最新のファイルを取得すればよいのでしょう?
-Entries Count = 4 System.Collections.Generic.IList<Dropbox.Api.Files.Metadata> {System.Collections.Generic.List<Dropbox.Api.Files.Metadata>} - [0] {Dropbox.Api.Files.FileMetadata} Dropbox.Api.Files.Metadata {Dropbox.Api.Files.FileMetadata} + AsDeleted null Dropbox.Api.Files.DeletedMetadata + AsFile {Dropbox.Api.Files.FileMetadata} Dropbox.Api.Files.FileMetadata + AsFolder null Dropbox.Api.Files.FolderMetadata + ClientModified {2018/01/28 5:24:42} System.DateTime ContentHash "f3242" string HasExplicitSharedMembers null bool? Id "id:AAEg" string IsDeleted false bool IsFile true bool IsFolder false bool + MediaInfo null Dropbox.Api.Files.MediaInfo Name "A.jpg" string ParentSharedFolderId null string PathDisplay "/Image/A.jpg" string PathLower "/image/a.jpg" string PropertyGroups null System.Collections.Generic.IList<Dropbox.Api.FileProperties.PropertyGroup> + ServerModified {2018/01/28 8:30:22} System.DateTime + SharingInfo null Dropbox.Api.Files.FileSharingInfo Size 499704 ulong - [1] {Dropbox.Api.Files.FileMetadata} Dropbox.Api.Files.Metadata {Dropbox.Api.Files.FileMetadata} + AsDeleted null Dropbox.Api.Files.DeletedMetadata + AsFile {Dropbox.Api.Files.FileMetadata} Dropbox.Api.Files.FileMetadata + AsFolder null Dropbox.Api.Files.FolderMetadata + ClientModified {2018/01/28 8:31:24} System.DateTime ContentHash "757ee" string HasExplicitSharedMembers null bool? Id "id:AAFQ" string IsDeleted false bool IsFile true bool IsFolder false bool + MediaInfo null Dropbox.Api.Files.MediaInfo Name "D.jpg" string ParentSharedFolderId null string PathDisplay "/Image/D.jpg" string PathLower "/image/d.jpg" string PropertyGroups null System.Collections.Generic.IList<Dropbox.Api.FileProperties.PropertyGroup> + ServerModified {2018/01/28 8:31:35} System.DateTime + SharingInfo null Dropbox.Api.Files.FileSharingInfo Size 371415 ulong + 静的メンバー
###補足情報(言語/FW/ツール等のバージョンなど)
Windows10 Home 1709 64bit
Microsoft Visual Studio Community 2017
Version 15.1 (26403.3) Release
VisualStudio.15.Release/15.1.0+26403.3
Microsoft .NET Framework
Version 4.7.02556
インストールされているバージョン:Community
Visual C# 2017 00369-60000-00001-AA631