TempFileCollection Klas

Definitie

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.

Van toepassing op