Aracılığıyla paylaş


TempFileCollection Sınıf

Tanım

Geçici dosya koleksiyonunu temsil eder.

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
Devralma
TempFileCollection
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte sınıfının ve ve AddFile yöntemlerinin TempFileCollectionAddExtension kullanımı gösterilmektedir.

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

Açıklamalar

TempFileCollection benzersiz dosya adları oluşturmak ve dosya listesini izlemek için kullanılabilir. Bu, derleyici tarafından oluşturulan ve bazen kullanımdan sonra silinen ara dosyaların listesini yönetirken uygulayıcılar için ICodeCompiler yararlı olabilir.

içinde benzersiz geçici dosya adları oluşturulacak bir dizin belirtmek için, uygun şekilde aşırı yüklenmiş bir oluşturucu kullanın. Koleksiyona eklenen dosyaların, veya AddExtension yöntemleri kullanılırken AddFile aksi belirtilmediğinde koleksiyon atıldığında veya Delete yöntemi çağrıldığında silinmesi gerekip gerekmediğini belirtmek için bir oluşturucu aşırı yüklemesi de kullanabilirsiniz.

Herhangi bir dizindeki bir dosya, yöntemini kullanarak bir örneğine TempFileCollectionAddFile eklenebilir.

Belirli bir dosya uzantısının geçici dosyası için benzersiz bir ad oluşturmak için çağırın AddExtension ve oluşturulacak dosya adının uzantısını belirtin. yöntemi, AddExtension özelliği tarafından TempDir belirtilen dizinde belirtilen uzantının dosya adının tam yolunu içeren bir dize döndürür. yöntemi, AddExtension dosya adı uzantısı başına yalnızca bir benzersiz dosya adı döndürür.

AddFile Hem hem de AddExtension yöntemleri, koleksiyon atıldığında veya yöntemi çağrıldığında dosyaların silinip silinmeyeceğini belirtmenize Delete olanak sağlayan aşırı yüklemelere sahiptir.

Delete yöntemi, korunacak şekilde işaretlenmiş olanlar dışında koleksiyondaki tüm dosyaları siler.

BasePath özelliği, yöntemi tarafından AddExtension döndürülen dosya adlarını oluşturmak için kullanılan dosya adı uzantısı olmadan temel dosya adının tam yolunu gösterir.

Uyarı

Bu sınıf, tüm üyeler için geçerli olan sınıf düzeyinde bir bağlantı talebi ve devralma talebi içerir. Hemen SecurityException çağıranın veya türetilen sınıfın tam güven izni olmadığında bir hata fırlatılır. Güvenlik talepleri hakkında ayrıntılı bilgi için bkz. Bağlantı Talepleri ve Devralma Talepleri.

Oluşturucular

Name Description
TempFileCollection()

Sınıfın TempFileCollection yeni bir örneğini varsayılan değerlerle başlatır.

TempFileCollection(String, Boolean)

Belirtilen geçici dizini ve belirtilen değeri kullanarak sınıfın TempFileCollection yeni bir örneğini başlatır ve geçici dosyaların oluşturma ve kullanımdan sonra varsayılan olarak tutulup silinmeyeceğini belirtir.

TempFileCollection(String)

Sınıfın TempFileCollection yeni bir örneğini, varsayılan olarak oluşturma ve kullanmalarından sonra geçici dosyaları silmek üzere ayarlanan belirtilen geçici dizini kullanarak başlatır.

Özellikler

Name Description
BasePath

Koleksiyon için geçici dosya adları oluşturmak için kullanılan geçici dizin yolunda, dosya adı uzantısı olmadan temel dosya adının tam yolunu alır.

Count

Koleksiyondaki dosya sayısını alır.

KeepFiles

Varsayılan olarak, yöntem çağrıldığında veya koleksiyon atıldığında Delete() dosyaların tutulup tutulmayacağını belirten bir değer alır veya ayarlar.

TempDir

Geçici dosyaları depolamak için geçici dizini alır.

Yöntemler

Name Description
AddExtension(String, Boolean)

Belirtilen dosya adı uzantısına sahip bir dosya adını koleksiyona ekler ve belirtilen değeri kullanarak dosyanın silinmesi veya saklanması gerekip gerekmediğini belirtir.

AddExtension(String)

Koleksiyona belirtilen dosya adı uzantısına sahip bir dosya adı ekler.

AddFile(String, Boolean)

Belirtilen dosyayı koleksiyona ekler ve belirtilen değeri kullanarak koleksiyon atıldıktan sonra veya yöntemi çağrıldığında Delete() dosyanın tutulup tutulmayacağını belirtir.

CopyTo(String[], Int32)

Koleksiyonun üyelerini belirtilen dizinden başlayarak belirtilen dizeye kopyalar.

Delete()

Bu koleksiyonda saklanmak üzere işaretlenmemiş geçici dosyaları siler.

Dispose(Boolean)

tarafından TempFileCollection kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Finalize()

Bu nesne çöp toplama tarafından geri kazanılmadan önce geçici dosyaları silmeye çalışır.

GetEnumerator()

Koleksiyonun üyelerini numaralandırabilen bir numaralandırıcı alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
ICollection.CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak koleksiyonun öğelerini bir diziye kopyalar.

ICollection.Count

Koleksiyonda bulunan öğe sayısını alır.

ICollection.IsSynchronized

Koleksiyona erişimin eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

ICollection.SyncRoot

Koleksiyona erişimi eşitlemek için kullanılabilecek bir nesne alır.

IDisposable.Dispose()

Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

IEnumerable.GetEnumerator()

Bir koleksiyonda yineleyen bir numaralandırıcı döndürür.

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesine IQueryabledönüştürür.

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe yazar.

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır