TempFileCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 dengan 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 dari 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 file 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 digunakan oleh TempFileCollection dan secara opsional merilis sumber daya terkelola. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Finalize() |
Mencoba 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 dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari 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, merilis, atau mengatur ulang sumber daya yang tidak dikelola. |
IEnumerable.GetEnumerator() |
Mengembalikan enumerator yang berulang melalui koleksi. |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |