TempFileCollection Classe

Definizione

Rappresenta una raccolta di file temporanei.Represents a collection of temporary files.

public ref class TempFileCollection : IDisposable, System::Collections::ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
Ereditarietà
TempFileCollection
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato l'utilizzo della TempFileCollection classe AddExtension e dei metodi AddFile e.The following example shows the use of the TempFileCollection class and the AddExtension and AddFile methods.

using System;
using System.CodeDom.Compiler;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        // Create a directory in the current working directory.
        Directory.CreateDirectory("testDir");
        TempFileCollection tfc = new TempFileCollection("testDir", false);
        // Returns the file name relative to the current working directory.
        string fileName = tfc.AddExtension("txt");
        Console.WriteLine(fileName);
        // Name a file in the test directory.
        string file2Name = "testDir\\test.txt";
        // Add the file to the temp directory and indicate it is to be kept.
        tfc.AddFile(file2Name, true);
        Console.WriteLine(tfc.Count);
        // Create and use the test files.
        FileStream fs1 = File.OpenWrite(fileName);
        FileStream fs2 = File.OpenWrite(file2Name);
        StreamWriter sw1 = new StreamWriter(fs1);
        StreamWriter sw2 = new StreamWriter(fs2);
        sw1.WriteLine("Test string");
        sw2.WriteLine("Test string");
        sw1.Close();
        sw2.Close();
        tfc.Delete();
        Console.WriteLine(tfc.Count);
        try
        {
            // This call should succeed.
            File.OpenRead(file2Name);
            // This call should fail.
            File.OpenRead(fileName);
        }
        catch (FileNotFoundException e)
        {
            Console.WriteLine(e.Message);
        }

    }

}
Imports System.CodeDom.Compiler
Imports System.IO



Class Program
    
    Shared Sub Main(ByVal args() As String) 
        ' Create a directory in the current working directory.
        Directory.CreateDirectory("testDir")
        Dim tfc As New TempFileCollection("testDir", False)
        ' Returns the file name relative to the current working directory.
        Dim fileName As String = tfc.AddExtension("txt")
        Console.WriteLine(fileName)
        ' Name a file in the test directory.
        Dim file2Name As String = "testDir\test.txt"
        ' Add the file to the temp directory and indicate it is to be kept.
        tfc.AddFile(file2Name, True)
        Console.WriteLine(tfc.Count)
        ' Create and use the test files.
        Dim fs1 As FileStream = File.OpenWrite(fileName)
        Dim fs2 As FileStream = File.OpenWrite(file2Name)
        Dim sw1 As New StreamWriter(fs1)
        Dim sw2 As New StreamWriter(fs2)
        sw1.WriteLine("Test string")
        sw2.WriteLine("Test string")
        sw1.Close()
        sw2.Close()
        tfc.Delete()
        Console.WriteLine(tfc.Count)
        Try
            ' This call should succeed.
            File.OpenRead(file2Name)
            ' This call should fail.
            File.OpenRead(fileName)
        Catch e As FileNotFoundException
            Console.WriteLine(e.Message)
        End Try
    
    End Sub
End Class

Commenti

TempFileCollectionpuò essere usato per generare nomi di file univoci e per tenere traccia di un elenco di file.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Questa operazione può essere utile ICodeCompiler per gli implementatori quando si gestisce un elenco di file intermedi generati dal compilatore, che vengono talvolta eliminati dopo l'utilizzo.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

Per specificare una directory in cui generare nomi di file temporanei univoci in, utilizzare un costruttore di overload appropriato.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. È anche possibile usare un overload del costruttore per indicare se i file aggiunti alla raccolta devono essere eliminati se non specificati in caso AddFile contrario AddExtension quando si usano i metodi o, quando la raccolta viene eliminata Delete o viene chiamato il metodo.You can also use a constructor overload to indicate whether files added to the collection should, if not specified otherwise when using the AddFile or AddExtension methods, be deleted when the collection is disposed or the Delete method is called.

Un file in qualsiasi directory può essere aggiunto a un'istanza di TempFileCollection utilizzando il AddFile metodo.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Per generare un nome univoco per un file temporaneo di un'estensione di file specifica, AddExtension chiamare e specificare l'estensione del nome file da generare.To generate a unique name for a temporary file of a particular file extension, call AddExtension and specify the extension of the file name to generate. Il AddExtension metodo restituirà una stringa costituita da un percorso completo di un nome file dell'estensione specificata nella directory specificata TempDir dalla proprietà.The AddExtension method will return a string consisting of a full path to a file name of the specified extension in the directory specified by the TempDir property. Il AddExtension metodo restituirà un solo nome file univoco per ogni estensione di file.The AddExtension method will only return one unique file name per file name extension.

Entrambi i AddFile metodi AddExtension e hanno overload che consentono di specificare se i file devono essere eliminati quando la raccolta viene eliminata o se viene chiamato il Delete metodo.Both the AddFile and AddExtension methods have overloads that allow you to specify whether the files should be deleted when the collection is disposed or the Delete method is called.

Il Delete metodo eliminerà tutti i file della raccolta, ad eccezione di quelli contrassegnati per essere mantenuti.The Delete method will delete all the files in the collection except those that are marked to be kept.

La BasePath proprietà indica il percorso completo del nome del file di base, senza un'estensione di file, utilizzato per generare i nomi file restituiti AddExtension dal metodo.The BasePath property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the AddExtension method.

Nota

Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri.This class contains a link demand and an inheritance demand at the class level that applies to all members. Viene SecurityException generata un'eccezione quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di attendibilità totale.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Per informazioni dettagliate sulle richieste di sicurezza, vedere richieste di collegamento e richieste di ereditarietà.For details about security demands, see Link Demands and Inheritance Demands.

Costruttori

TempFileCollection()

Inizializza una nuova istanza della classe TempFileCollection con i valori predefiniti.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String)

Per impostazione predefinita, inizializza una nuova istanza della classe TempFileCollection utilizzando la directory temporanea specificata impostata per l'eliminazione dei file temporanei dopo che sono stati generati e utilizzati.Initializes a new instance of the TempFileCollection class using the specified temporary directory that is set to delete the temporary files after their generation and use, by default.

TempFileCollection(String, Boolean)

Per impostazione predefinita, inizializza una nuova istanza della classe TempFileCollection utilizzando la directory temporanea specificata e il valore specificato che indica se conservare o eliminare i file temporanei dopo che sono stati generati e utilizzati.Initializes a new instance of the TempFileCollection class using the specified temporary directory and specified value indicating whether to keep or delete the temporary files after their generation and use, by default.

Proprietà

BasePath

Ottiene il percorso completo del nome di file di base privo di estensione nel percorso della directory temporanea utilizzata per generare nomi di file temporanei per l'insieme.Gets the full path to the base file name, without a file name extension, on the temporary directory path, that is used to generate temporary file names for the collection.

Count

Ottiene il numero di file nell'insieme.Gets the number of files in the collection.

KeepFiles

Per impostazione predefinita, ottiene o imposta un valore che indica se conservare i file quando viene chiamato il metodo Delete() o viene eliminato l'insieme.Gets or sets a value indicating whether to keep the files, by default, when the Delete() method is called or the collection is disposed.

TempDir

Ottiene la directory temporanea in cui devono essere memorizzati i file temporanei.Gets the temporary directory to store the temporary files in.

Metodi

AddExtension(String)

Aggiunge all'insieme un nome file con l'estensione specificata.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean)

Aggiunge all'insieme un nome file con l'estensione specificata, utilizzando il valore specificato che indica se il file debba essere eliminato o conservato.Adds a file name with the specified file name extension to the collection, using the specified value indicating whether the file should be deleted or retained.

AddFile(String, Boolean)

Aggiunge all'insieme il file specificato, utilizzando il valore specificato che indica se il file debba essere conservato quando l'insieme viene eliminato o quando viene chiamato il metodo Delete().Adds the specified file to the collection, using the specified value indicating whether to keep the file after the collection is disposed or when the Delete() method is called.

CopyTo(String[], Int32)

Copia i membri dell'insieme nella stringa specificata, a partire dall'indice specificato.Copies the members of the collection to the specified string, beginning at the specified index.

Delete()

Elimina dall'insieme i file temporanei non contrassegnati per la conservazione.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean)

Rilascia le risorse non gestite usate da TempFileCollection e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
Finalize()

Tenta di eliminare i file temporanei prima che questo oggetto venga recuperato dalla procedura di Garbage Collection.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator()

Ottiene un enumeratore in grado di enumerare i membri dell'insieme.Gets an enumerator that can enumerate the members of the collection.

GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi dell'insieme in una matrice, iniziando dall'indice specificato della matrice di destinazione.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count

Ottiene il numero di elementi contenuti nella raccolta.Gets the number of elements contained in the collection.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator()

Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta.Returns an enumerator that iterates through a collection.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Sicurezza

SecurityPermission
per la TempFileCollection derivazione dalla classe.for deriving from the TempFileCollection class. Valore richiesta: InheritanceDemand; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Si applica a