コード例 #1
0
        private static async Task <IEnumerable <T> > WithFolder <T>(this StorageFolder folder, string relativeFolder, Func <StorageFolder, Task <IEnumerable <T> > > op) where T : IStorageItem
        {
            StorageFolder f = relativeFolder == String.Empty ?
                              folder :
                              await folder.GetFolderAsync(FileUtilsBase.WindowsSeparators(relativeFolder));

            return(await op(f));
        }
コード例 #2
0
 /// <summary>
 /// The local file referenced by the URI, or null if the URI is not local.
 /// </summary>
 /// <param name="localUri">uri to local file</param>
 /// <returns></returns>
 public static async Task <StorageFile> GetFile(Uri localUri)
 {
     if (FileUtilsBase.IsLocalNonAppFile(localUri))
     {
         return(await StorageFile.GetFileFromPathAsync(localUri.LocalPath));
     }
     else if (FileUtilsBase.IsAppLocalFile(localUri))
     {
         return(await StorageFile.GetFileFromApplicationUriAsync(localUri));
     }
     else
     {
         return(null);
     }
 }
コード例 #3
0
        public override Uri UriFor(IStorageFile file)
        {
            var path = localStorageUriPrefix + FileUtilsBase.UnixSeparators(LocalPath(file));

            return(new Uri(path));
        }
コード例 #4
0
        /// <summary>
        /// Must be overridden for special app folders, todo fix class hierarchy.
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        public virtual Uri UriFor(IStorageFile file)
        {
            var uriPath = FileUtilsBase.UnixSeparators(file.Path);

            return(new Uri("file:///" + uriPath));
        }