Nyelv

TempFileCollection Osztály

Definíció

Ideiglenes fájlok gyűjteményét jelöli.

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
Öröklődés
TempFileCollection
Attribútumok
Megvalósítás

Példák

Az alábbi példa az osztály és a TempFileCollectionAddExtensionAddFile metódusok használatát mutatja be.

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

Megjegyzések

TempFileCollection egyedi fájlnevek létrehozására és a fájlok listájának nyomon követésére használható. Ez hasznos lehet a implementátorok számára ICodeCompiler a fordító által létrehozott köztes fájlok listájának kezelésekor, amelyeket néha a használat után törölnek.

Ha meg szeretne adni egy könyvtárat, amelyben egyedi ideiglenes fájlneveket szeretne létrehozni, használjon megfelelően túlterhelt konstruktort. Konstruktor-túlterheléssel azt is jelezheti, hogy a gyűjteményhez hozzáadott fájlokat törölni kell-e, ha a metódusok vagy AddFile metódusok használatakor AddExtension másként nincs megadva, a gyűjtemény törlésekor vagy a Delete metódus meghívásakor.

Bármely könyvtárban lévő fájl hozzáadható a TempFileCollection metódus egy példányáhozAddFile.

Ha egyedi nevet szeretne létrehozni egy adott fájlkiterjesztés ideiglenes fájljának, hívja meg AddExtension és adja meg a létrehozandó fájlnév bővítményét. A AddExtension metódus egy olyan sztringet ad vissza, amely a tulajdonság által TempDir megadott könyvtárban található megadott kiterjesztés fájlnevének teljes elérési útját tartalmazza. A AddExtension metódus csak egy egyedi fájlnevet ad vissza fájlnévkiterjesztésenként.

AddFile A metódusok túlterhelésekkel AddExtension rendelkeznek, amelyek lehetővé teszik annak megadását, hogy a gyűjtemény törlésekor vagy a metódus meghívásakor törölni kell-e a Delete fájlokat.

A Delete metódus törli a gyűjtemény összes fájlját, kivéve azokat, amelyek megőrzendőként vannak megjelölve.

A BasePath tulajdonság az alapfájlnév teljes elérési útját jelzi fájlnévkiterjesztés nélkül a metódus által AddExtension visszaadott fájlnevek létrehozásához.

Note

Ez az osztály az összes tagra vonatkozó hivatkozási és öröklési igényt tartalmaz az osztály szintjén. A SecurityException akkor dobódik, ha az azonnali hívó vagy a származtatott osztály nem rendelkezik teljes megbízhatósági engedéllyel. A biztonsági követelményekkel kapcsolatos részletekért tekintse meg az Igények csatolása és az Öröklési igényekhivatkozása című témakört.

Konstruktorok

Name Description
TempFileCollection()

Inicializálja az osztály új példányát alapértelmezett TempFileCollection értékekkel.

TempFileCollection(String, Boolean)

Inicializálja az TempFileCollection osztály egy új példányát a megadott ideiglenes könyvtár és a megadott érték használatával, amely azt jelzi, hogy alapértelmezés szerint megtartja vagy törli-e az ideiglenes fájlokat a létrehozásuk és használatuk után.

TempFileCollection(String)

Inicializálja az TempFileCollection osztály új példányát a megadott ideiglenes könyvtár használatával, amely alapértelmezés szerint úgy van beállítva, hogy a létrehozásuk és használatuk után törölje az ideiglenes fájlokat.

Tulajdonságok

Name Description
BasePath

Lekéri az alapfájlnév teljes elérési útját fájlnévkiterjesztés nélkül az ideiglenes könyvtár elérési útján, amely a gyűjtemény ideiglenes fájlneveinek létrehozására szolgál.

Count

Lekéri a gyűjteményben lévő fájlok számát.

KeepFiles

Lekéri vagy beállít egy értéket, amely jelzi, hogy a fájlok alapértelmezés szerint megmaradnak-e a Delete() metódus meghívásakor vagy a gyűjtemény elvetésekor.

TempDir

Lekéri az ideiglenes könyvtárat az ideiglenes fájlok tárolásához.

Metódusok

Name Description
AddExtension(String, Boolean)

Hozzáad egy fájlnevet a megadott fájlnévkiterjesztéssel a gyűjteményhez a megadott érték használatával, amely jelzi, hogy a fájlt törölni vagy megőrizni kell-e.

AddExtension(String)

Hozzáad egy fájlnevet a megadott fájlnévkiterjesztéssel a gyűjteményhez.

AddFile(String, Boolean)

Hozzáadja a megadott fájlt a gyűjteményhez a megadott érték használatával, amely azt jelzi, hogy a gyűjtemény megsemmisítése vagy a metódus meghívása után megtartja-e a Delete() fájlt.

CopyTo(String[], Int32)

Másolja a gyűjtemény tagjait a megadott sztringbe, a megadott indextől kezdve.

Delete()

Törli a gyűjtemény azon ideiglenes fájljait, amelyek nincsenek megőrzendőként megjelölve.

Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által TempFileCollection használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
Finalize()

Megpróbálja törölni az ideiglenes fájlokat, mielőtt a szemétgyűjtés helyreállítja az objektumot.

GetEnumerator()

Lekéri a gyűjtemény tagjait számba vevő enumerátort.

GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
ICollection.CopyTo(Array, Int32)

A gyűjtemény elemeit egy tömbbe másolja, a céltömb megadott indexétől kezdve.

ICollection.Count

Lekéri a gyűjteményben található elemek számát.

ICollection.IsSynchronized

Beolvas egy értéket, amely jelzi, hogy a gyűjteményhez való hozzáférés szinkronizálva van-e (a szál biztonságos).

ICollection.SyncRoot

Lekéri a gyűjteményhez való hozzáférés szinkronizálására használható objektumot.

IDisposable.Dispose()

Végrehajtja a nem felügyelt erőforrások felszabadításával, felszabadításával vagy alaphelyzetbe állításával kapcsolatos alkalmazásalapú feladatokat.

IEnumerable.GetEnumerator()

Egy gyűjteményen keresztül iteráló enumerátort ad vissza.

Bővítő metódusok

Name Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes: