WinFSのサンプルコード

基本的にはSDKのサンプルコードです。
何となくプログラミングの感じがわかるでしょうか。

001 using System;
002 using System.Storage;
003 using System.Storage.Documents;
004 using System.Collections.Generic;
005 using System.Text;
006 
007 
008 namespace WinFSTestApplication
009 {
010     /// <summary>
011     /// WinFsDataオブジェクトを使ってWinFSストレージ内のアイテムを検索する。
012     /// </summary>
013     class Program
014     {
015         static void Main(string[] args) {
016             //WinFsDataオブジェクトの作成
017             WinFSData fs = new WinFSData(@"\\localhost\DefaultStore\Users");
018             using (fs) {
019                 //Storage無いのすべてのItemを検索する                
020                 foreach (Item itemAll in fs.Items) {
021                     //アイテムが持つ個別IDとサイズを表示する。
022                     Console.WriteLine("Item ID : {0} Item Size : {1}", itemAll.ItemId, itemAll.ItemSize);
023                 }
024                 //Folder型のItemだけ選択するようフィルタをかける。
025                 foreach (Folder f in fs.Items.FilterByType<Folder>()) {
026                     Console.WriteLine("Folder : {0}", f.NamespaceName);
027                     //フォルダ内のアイテムのタイプと表示名称の一覧を表示する。
028                     //特定の仮想フォルダの内容を取得するにはその仮想フォルダ名で
029                     //新たにWinFsDataオブジェクトを作成する。
030                     foreach (Item folderItem in new WinFSData(f.GetAbsolutePath()).Items) {
031                         //アイテムの形と表示名を表示する
032                         Console.WriteLine("{0} : {1}", folderItem.GetType(), folderItem.DisplayName);
033                     }
034                 }
035                 //いわゆるファイル名による曖昧検索
036                 foreach (Item itemNameSpace in fs.Items.FilterByType<GenericFile>().Filter("NameSpaceName like '%sln%'")) {
037                     //アイテムのパスと方を表示する。
038                     Console.WriteLine("Path : {0}, Type : {1}", itemNameSpace.GetPath(), itemNameSpace.GetType());
039                 }
040             }
041 
042         }
043     }
044 }

コメントを残す