TempFileCollection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een verzameling tijdelijke bestanden.
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
- Overname
-
TempFileCollection
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld ziet u het gebruik van de TempFileCollection klasse en de AddExtension methoden 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
Opmerkingen
TempFileCollection kan worden gebruikt om unieke bestandsnamen te genereren en een lijst met bestanden bij te houden. Dit kan handig zijn voor ICodeCompiler implementeerfuncties bij het beheren van een lijst met door compiler gegenereerde tussenliggende bestanden, die soms na gebruik worden verwijderd.
Als u een map wilt opgeven waarin unieke tijdelijke bestandsnamen moeten worden gegenereerd, gebruikt u een correct overbelaste constructor. U kunt ook een overbelasting van een constructor gebruiken om aan te geven of bestanden die aan de verzameling zijn toegevoegd, anders moeten worden opgegeven bij het gebruik van de AddFile of AddExtension methoden, worden verwijderd wanneer de verzameling wordt verwijderd of de Delete methode wordt aangeroepen.
Een bestand in elke map kan worden toegevoegd aan een exemplaar van het gebruik van TempFileCollection de AddFile methode.
Als u een unieke naam wilt genereren voor een tijdelijk bestand van een bepaalde bestandsextensie, roept AddExtension u de extensie van de te genereren bestandsnaam aan en geeft u deze op. De AddExtension methode retourneert een tekenreeks die bestaat uit een volledig pad naar een bestandsnaam van de opgegeven extensie in de map die is opgegeven door de TempDir eigenschap. De AddExtension methode retourneert slechts één unieke bestandsnaam per bestandsnaamextensie.
Zowel de als AddExtension de AddFile methoden bevatten overbelastingen waarmee u kunt opgeven of de bestanden moeten worden verwijderd wanneer de verzameling wordt verwijderd of de Delete methode wordt aangeroepen.
Met Delete de methode worden alle bestanden in de verzameling verwijderd, behalve bestanden die zijn gemarkeerd om te worden bewaard.
De BasePath eigenschap geeft een volledig pad naar de basisbestandsnaam aan, zonder bestandsnaamextensie, die wordt gebruikt om de bestandsnamen te genereren die door de AddExtension methode worden geretourneerd.
Note
Deze klasse bevat een koppelingsvraag en een overnamevraag op klasseniveau die van toepassing is op alle leden. Een SecurityException wordt geworpen wanneer de directe aanroeper of de afgeleide klasse geen volledig-vertrouwensmachtiging heeft. Zie Koppelingsvereisten en overnamevereisten voor meer informatie over beveiligingsvereisten.
Constructors
| Name | Description |
|---|---|
| TempFileCollection() |
Initialiseert een nieuw exemplaar van de TempFileCollection klasse met standaardwaarden. |
| TempFileCollection(String, Boolean) |
Initialiseert een nieuw exemplaar van de TempFileCollection klasse met behulp van de opgegeven tijdelijke map en de opgegeven waarde die aangeeft of de tijdelijke bestanden na de generatie en het gebruik ervan standaard moeten worden bewaard of verwijderd. |
| TempFileCollection(String) |
Initialiseert een nieuw exemplaar van de TempFileCollection klasse met behulp van de opgegeven tijdelijke map die is ingesteld om de tijdelijke bestanden te verwijderen na de generatie en het gebruik ervan, standaard. |
Eigenschappen
| Name | Description |
|---|---|
| BasePath |
Hiermee haalt u het volledige pad op naar de basisbestandsnaam, zonder bestandsnaamextensie, op het pad naar de tijdelijke map, die wordt gebruikt om tijdelijke bestandsnamen voor de verzameling te genereren. |
| Count |
Hiermee haalt u het aantal bestanden in de verzameling op. |
| KeepFiles |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de bestanden standaard moeten worden bewaard wanneer de Delete() methode wordt aangeroepen of de verzameling wordt verwijderd. |
| TempDir |
Hiermee haalt u de tijdelijke map op waarin de tijdelijke bestanden worden opgeslagen. |
Methoden
| Name | Description |
|---|---|
| AddExtension(String, Boolean) |
Voegt een bestandsnaam met de opgegeven bestandsnaamextensie toe aan de verzameling, met behulp van de opgegeven waarde die aangeeft of het bestand moet worden verwijderd of bewaard. |
| AddExtension(String) |
Hiermee voegt u een bestandsnaam toe met de opgegeven bestandsnaamextensie aan de verzameling. |
| AddFile(String, Boolean) |
Voegt het opgegeven bestand toe aan de verzameling, met behulp van de opgegeven waarde die aangeeft of het bestand moet worden bewaard nadat de verzameling is verwijderd of wanneer de Delete() methode wordt aangeroepen. |
| CopyTo(String[], Int32) |
Kopieert de leden van de verzameling naar de opgegeven tekenreeks, beginnend bij de opgegeven index. |
| Delete() |
Hiermee verwijdert u de tijdelijke bestanden in deze verzameling die niet zijn gemarkeerd om te worden bewaard. |
| Dispose(Boolean) |
Publiceert de niet-beheerde resources die worden gebruikt door de TempFileCollection beheerde resources en brengt eventueel de beheerde resources vrij. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| Finalize() |
Probeert de tijdelijke bestanden te verwijderen voordat dit object wordt vrijgemaakt door garbagecollection. |
| GetEnumerator() |
Hiermee haalt u een enumerator op waarmee de leden van de verzameling kunnen worden opgesomd. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopieert de elementen van de verzameling naar een matrix, beginnend bij de opgegeven index van de doelmatrix. |
| ICollection.Count |
Hiermee haalt u het aantal elementen op dat in de verzameling is opgenomen. |
| ICollection.IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot de verzameling wordt gesynchroniseerd (thread safe). |
| ICollection.SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot de verzameling te synchroniseren. |
| IDisposable.Dispose() |
Voert door de toepassing gedefinieerde taken uit die zijn gekoppeld aan het vrijmaken, vrijgeven of opnieuw instellen van onbeheerde resources. |
| IEnumerable.GetEnumerator() |
Retourneert een enumerator die door een verzameling wordt herhaald. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |