TempFileCollection Kelas

Definisi

Mewakili kumpulan file sementara.

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
Warisan
TempFileCollection
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan penggunaan TempFileCollection kelas dan AddExtension metode dan 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

Keterangan

TempFileCollection dapat digunakan untuk menghasilkan nama file unik dan untuk melacak daftar file. Ini dapat berguna bagi ICodeCompiler pelaksana saat mengelola daftar file perantara yang dihasilkan kompilator, yang terkadang dihapus setelah digunakan.

Untuk menentukan direktori untuk menghasilkan nama file sementara yang unik, gunakan konstruktor yang kelebihan beban yang tepat. Anda juga dapat menggunakan kelebihan beban konstruktor untuk menunjukkan apakah file yang ditambahkan ke koleksi harus, jika tidak ditentukan sebaliknya saat menggunakan AddFile metode atau AddExtension , dihapus saat koleksi dibuang atau Delete metode dipanggil.

File di direktori apa pun dapat ditambahkan ke instans menggunakan TempFileCollectionAddFile metode .

Untuk menghasilkan nama unik untuk file sementara ekstensi file tertentu, panggil AddExtension dan tentukan ekstensi nama file yang akan dihasilkan. Metode ini AddExtension akan mengembalikan string yang terdiri dari jalur lengkap ke nama file ekstensi yang ditentukan dalam direktori yang ditentukan oleh TempDir properti . Metode AddExtension ini hanya akan mengembalikan satu nama file unik per ekstensi nama file.

AddFile Metode dan AddExtension memiliki kelebihan beban yang memungkinkan Anda menentukan apakah file harus dihapus ketika koleksi dibuang atau Delete metode dipanggil.

Metode ini Delete akan menghapus semua file dalam koleksi kecuali yang ditandai untuk disimpan.

Properti BasePath menunjukkan jalur lengkap ke nama file dasar, tanpa ekstensi nama file, yang digunakan untuk menghasilkan nama file yang dikembalikan oleh AddExtension metode .

Catatan

Kelas ini berisi permintaan tautan dan permintaan warisan di tingkat kelas yang berlaku untuk semua anggota. SecurityException dilemparkan ketika pemanggil langsung atau kelas turunan tidak memiliki izin kepercayaan penuh. Untuk detail tentang tuntutan keamanan, lihat Permintaan Tautan dan Permintaan Warisan.

Konstruktor

TempFileCollection()

Menginisialisasi instans TempFileCollection baru kelas dengan nilai default.

TempFileCollection(String)

Menginisialisasi instans TempFileCollection baru kelas menggunakan direktori sementara yang ditentukan yang diatur untuk menghapus file sementara setelah pembuatan dan penggunaannya, secara default.

TempFileCollection(String, Boolean)

Menginisialisasi instans TempFileCollection baru kelas menggunakan direktori sementara yang ditentukan dan nilai yang ditentukan yang menunjukkan apakah akan menyimpan atau menghapus file sementara setelah pembuatan dan penggunaannya, secara default.

Properti

BasePath

Mendapatkan jalur lengkap ke nama file dasar, tanpa ekstensi nama file, pada jalur direktori sementara, yang digunakan untuk menghasilkan nama file sementara untuk koleksi.

Count

Mendapatkan jumlah file dalam koleksi.

KeepFiles

Mendapatkan atau menetapkan nilai yang menunjukkan apakah akan menyimpan file, secara default, ketika Delete() metode dipanggil atau koleksi dibuang.

TempDir

Mendapatkan direktori sementara untuk menyimpan file sementara.

Metode

AddExtension(String)

Menambahkan nama file dengan ekstensi nama file yang ditentukan ke koleksi.

AddExtension(String, Boolean)

Menambahkan nama file dengan ekstensi nama file yang ditentukan ke koleksi, menggunakan nilai yang ditentukan yang menunjukkan apakah file harus dihapus atau dipertahankan.

AddFile(String, Boolean)

Menambahkan file yang ditentukan ke koleksi, menggunakan nilai yang ditentukan yang menunjukkan apakah akan menyimpan file setelah koleksi dibuang atau ketika Delete() metode dipanggil.

CopyTo(String[], Int32)

Menyalin anggota koleksi ke string yang ditentukan, dimulai pada indeks yang ditentukan.

Delete()

Menghapus file sementara dalam koleksi ini yang tidak ditandai untuk disimpan.

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang TempFileCollection digunakan oleh dan secara opsional merilis sumber daya terkelola.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Upaya untuk menghapus file sementara sebelum objek ini diklaim kembali oleh pengumpulan sampah.

GetEnumerator()

Mendapatkan enumerator yang dapat menghitung anggota koleksi.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin elemen koleksi ke array, dimulai dari indeks array target yang ditentukan.

ICollection.Count

Mendapatkan jumlah elemen yang terkandung dalam koleksi.

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke koleksi disinkronkan (utas aman).

ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke koleksi.

IDisposable.Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

IEnumerable.GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui koleksi.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk