Procedura: Enumerare gli archivi per lo spazio di memorizzazione isolato

È possibile enumerare tutti gli archivi isolati dell'utente corrente utilizzando il metodo statico IsolatedStorageFile.GetEnumerator. Questo metodo accetta un valore IsolatedStorageScope e restituisce un enumeratore IsolatedStorageFile. Per enumerare gli archivi, è necessario avere l'autorizzazione IsolatedStorageFilePermission con il valore AdministerIsolatedStorageByUser specificato. Se si chiama il metodo GetEnumerator con il valore User, viene restituita una matrice di oggetti IsolatedStorageFile definiti per l'utente corrente.

Esempio

L'esempio di codice seguente ottiene uno spazio di memorizzazione isolato in base all'utente e all'assembly, crea alcuni file e recupera i file usando il metodo GetEnumerator.

using System;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections;

public class EnumeratingStores
{
    public static void Main()
    {
        using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null))
        {
            isoStore.CreateFile("TestFileA.Txt");
            isoStore.CreateFile("TestFileB.Txt");
            isoStore.CreateFile("TestFileC.Txt");
            isoStore.CreateFile("TestFileD.Txt");
        }

        IEnumerator allFiles = IsolatedStorageFile.GetEnumerator(IsolatedStorageScope.User);
        long totalsize = 0;

        while (allFiles.MoveNext())
        {
            IsolatedStorageFile storeFile = (IsolatedStorageFile)allFiles.Current;
            totalsize += (long)storeFile.UsedSize;
        }

        Console.WriteLine("The total size = " + totalsize);
    }
}
Imports System.IO
Imports System.IO.IsolatedStorage

Module Module1
    Sub Main()
        Using isoStore As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User Or IsolatedStorageScope.Assembly, Nothing, Nothing)
            isoStore.CreateFile("TestFileA.Txt")
            isoStore.CreateFile("TestFileB.Txt")
            isoStore.CreateFile("TestFileC.Txt")
            isoStore.CreateFile("TestFileD.Txt")
        End Using

        Dim allFiles As IEnumerator = IsolatedStorageFile.GetEnumerator(IsolatedStorageScope.User)
        Dim totalsize As Long = 0

        While (allFiles.MoveNext())
            Dim storeFile As IsolatedStorageFile = CType(allFiles.Current, IsolatedStorageFile)
            totalsize += CType(storeFile.UsedSize, Long)
        End While

        Console.WriteLine("The total size = " + totalsize.ToString())

    End Sub
End Module

Vedi anche