TempFileCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta una raccolta di file temporanei.
public ref class TempFileCollection : IDisposable, System::Collections::ICollection
public class TempFileCollection : IDisposable, System.Collections.ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
interface ICollection
interface IEnumerable
interface IDisposable
[<System.Serializable>]
type TempFileCollection = class
interface ICollection
interface IEnumerable
interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
- Ereditarietà
-
TempFileCollection
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente viene illustrato l'uso della TempFileCollection classe e dei AddExtension metodi e AddFile .
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
TempFileCollection può essere usato per generare nomi di file univoci e per tenere traccia di un elenco di file. Ciò può essere utile per gli ICodeCompiler implementatori quando si gestisce un elenco di file intermedi generati dal compilatore, che a volte vengono eliminati dopo l'uso.
Per specificare una directory in cui generare nomi di file temporanei univoci, usare un costruttore di overload appropriato. È anche possibile utilizzare un overload del costruttore per indicare se i file aggiunti alla raccolta devono, se non specificato diversamente quando si usano i AddFile metodi o AddExtension , essere eliminati quando la raccolta viene eliminata o viene chiamato il Delete metodo .
Un file in qualsiasi directory può essere aggiunto a un'istanza di TempFileCollection utilizzando il AddFile metodo .
Per generare un nome univoco per un file temporaneo di una determinata estensione di file, chiamare AddExtension e specificare l'estensione del nome file da generare. Il AddExtension metodo restituirà una stringa costituita da un percorso completo di un nome file dell'estensione specificata nella directory specificata dalla TempDir proprietà . Il AddExtension metodo restituirà solo un nome di file univoco per ogni estensione del nome file.
Entrambi i AddFile metodi e AddExtension dispongono di overload che consentono di specificare se i file devono essere eliminati quando la raccolta viene eliminata o viene chiamato il Delete metodo .
Il Delete metodo eliminerà tutti i file nella raccolta, ad eccezione di quelli contrassegnati per essere conservati.
La BasePath proprietà indica un percorso completo del nome del file di base, senza estensione di file, utilizzato per generare i nomi di file restituiti dal AddExtension metodo .
Nota
Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri. Viene SecurityException generata un'eccezione quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di attendibilità totale. Per informazioni dettagliate sulle richieste di sicurezza, vedere Richieste di collegamento e richieste di ereditarietà.
Costruttori
TempFileCollection() |
Inizializza una nuova istanza della classe TempFileCollection con i valori predefiniti. |
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. |
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. |
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. |
Count |
Ottiene il numero di file nell'insieme. |
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. |
TempDir |
Ottiene la directory temporanea in cui devono essere memorizzati i file temporanei. |
Metodi
AddExtension(String) |
Aggiunge all'insieme un nome file con l'estensione specificata. |
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. |
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(). |
CopyTo(String[], Int32) |
Copia i membri dell'insieme nella stringa specificata, a partire dall'indice specificato. |
Delete() |
Elimina dall'insieme i file temporanei non contrassegnati per la conservazione. |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da TempFileCollection e, facoltativamente, le risorse gestite. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
Finalize() |
Tenta di eliminare i file temporanei prima che questo oggetto venga recuperato dalla procedura di Garbage Collection. |
GetEnumerator() |
Ottiene un enumeratore in grado di enumerare i membri dell'insieme. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (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. |
ICollection.Count |
Ottiene il numero di elementi contenuti nella raccolta. |
ICollection.IsSynchronized |
Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe). |
ICollection.SyncRoot |
Ottiene un oggetto che può essere usato per sincronizzare l'accesso alla raccolta. |
IDisposable.Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. |
IEnumerable.GetEnumerator() |
Restituisce un enumeratore che consente di eseguire l'iterazione di una raccolta. |
Metodi di estensione
Cast<TResult>(IEnumerable) |
Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato. |
OfType<TResult>(IEnumerable) |
Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato. |
AsParallel(IEnumerable) |
Consente la parallelizzazione di una query. |
AsQueryable(IEnumerable) |
Converte un oggetto IEnumerable in un oggetto IQueryable. |