TempFileCollection TempFileCollection TempFileCollection TempFileCollection Class

Определение

Представляет коллекцию временных файлов.Represents a collection of temporary files.

public ref class TempFileCollection : IDisposable, System::Collections::ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
Наследование
TempFileCollectionTempFileCollectionTempFileCollectionTempFileCollection
Атрибуты
Реализации

Примеры

В следующем примере показано использование TempFileCollection класс и AddExtension и AddFile методы.The following example shows the use of the TempFileCollection class and the AddExtension and AddFile methods.

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
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 'Main 
End Class 'Program

Комментарии

TempFileCollection можно использовать для создания уникальных имен файлов и для отслеживания списка файлов.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Это может быть полезно для ICodeCompiler разработчики при управлении списком компилятором промежуточных файлов, которые иногда удаляются после использования.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

Чтобы указать каталог для создания уникальных имен временных файлов в, используйте соответствующий перегруженный конструктор.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. Также можно использовать перегрузки конструктора для указания ли файлы, добавленные в коллекцию следует, если не указано иное, при использовании AddFile или AddExtension методы, удаляются при удалении коллекции или Delete вызывается метод.You can also use a constructor overload to indicate whether files added to the collection should, if not specified otherwise when using the AddFile or AddExtension methods, be deleted when the collection is disposed or the Delete method is called.

Файл в любом каталоге, которые могут добавляться к экземпляру TempFileCollection с помощью AddFile метод.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Чтобы создать уникальное имя для временного файла с определенным расширением, вызвать AddExtension и укажите расширение имени файла для создания.To generate a unique name for a temporary file of a particular file extension, call AddExtension and specify the extension of the file name to generate. AddExtension Метод будет возвращать строку, состоящую из полного пути к имени файла с указанным расширением в каталоге, заданном параметром TempDir свойство.The AddExtension method will return a string consisting of a full path to a file name of the specified extension in the directory specified by the TempDir property. AddExtension Метод будет возвращать только одно уникальное имя файла для расширения имени файла.The AddExtension method will only return one unique file name per file name extension.

Как AddFile и AddExtension методы имеют перегрузки, которые позволяют пользователю указать, следует ли удалять файлы, при удалении коллекции или Delete вызывается метод.Both the AddFile and AddExtension methods have overloads that allow you to specify whether the files should be deleted when the collection is disposed or the Delete method is called.

Delete Метод приведет к удалению всех файлов в коллекции, за исключением тех, которые помечены для сохранения.The Delete method will delete all the files in the collection except those that are marked to be kept.

BasePath Свойство указывает полный путь к базовому имени файла, без расширения имени файла, используемый для создания имен файлов, возвращаемых AddExtension метод.The BasePath property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the AddExtension method.

Примечание

Этот класс содержит требования связывания и наследования на уровне класса, которые применяются ко всем элементам.This class contains a link demand and an inheritance demand at the class level that applies to all members. Если непосредственно вызывающий оператор или производный класс не имеет разрешения полного доверия, возникает исключение SecurityException.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Дополнительные сведения о требованиях безопасности см. в разделе требования связывания и требования наследования.For details about security demands, see Link Demands and Inheritance Demands.

Конструкторы

TempFileCollection() TempFileCollection() TempFileCollection() TempFileCollection()

Инициализирует новый экземпляр класса TempFileCollection со значениями по умолчанию.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String) TempFileCollection(String) TempFileCollection(String) TempFileCollection(String)

Инициализирует новый экземпляр TempFileCollection, используя указанный временный каталог, из которого временные файлы будут удалены по умолчанию после создания и использования.Initializes a new instance of the TempFileCollection class using the specified temporary directory that is set to delete the temporary files after their generation and use, by default.

TempFileCollection(String, Boolean) TempFileCollection(String, Boolean) TempFileCollection(String, Boolean) TempFileCollection(String, Boolean)

Инициализирует новый экземпляр TempFileCollection, используя указанный временный каталог и значение, показывающее, следует ли по умолчанию сохранить или удалить временные файлы после создания и использования.Initializes a new instance of the TempFileCollection class using the specified temporary directory and specified value indicating whether to keep or delete the temporary files after their generation and use, by default.

Свойства

BasePath BasePath BasePath BasePath

Получает полный путь к базовому имени файла, без расширения имени файла, по пути временного каталога, используемого при создании имен временных файлов для коллекции.Gets the full path to the base file name, without a file name extension, on the temporary directory path, that is used to generate temporary file names for the collection.

Count Count Count Count

Получает число файлов в коллекции.Gets the number of files in the collection.

KeepFiles KeepFiles KeepFiles KeepFiles

Возвращает или задает значение, показывающее, следует ли по умолчанию сохранять файлы при вызове метода Delete() или удалении коллекции.Gets or sets a value indicating whether to keep the files, by default, when the Delete() method is called or the collection is disposed.

TempDir TempDir TempDir TempDir

Получает временный каталог для хранения временных файлов.Gets the temporary directory to store the temporary files in.

Методы

AddExtension(String) AddExtension(String) AddExtension(String) AddExtension(String)

Добавляет к коллекции имя файла с указанным расширением имени файла.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean) AddExtension(String, Boolean) AddExtension(String, Boolean) AddExtension(String, Boolean)

Добавляет к коллекции имя файла с указанным расширением имени файла, используя указанное значение, показывающее, удалить файл или сохранить.Adds a file name with the specified file name extension to the collection, using the specified value indicating whether the file should be deleted or retained.

AddFile(String, Boolean) AddFile(String, Boolean) AddFile(String, Boolean) AddFile(String, Boolean)

Добавляет к коллекции указанный файл, используя указанное значение, показывающее, следует ли оставлять файл после удаления коллекции или при вызове метода Delete().Adds the specified file to the collection, using the specified value indicating whether to keep the file after the collection is disposed or when the Delete() method is called.

CopyTo(String[], Int32) CopyTo(String[], Int32) CopyTo(String[], Int32) CopyTo(String[], Int32)

Копирует члены коллекции в указанную строку начиная с указанного индекса.Copies the members of the collection to the specified string, beginning at the specified index.

Delete() Delete() Delete() Delete()

Удаляет из данной коллекции временные файлы, не помеченные для сохранения.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом TempFileCollection, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Пытается удалить временные файлы перед тем, как данный объект будет утилизирован при сборке мусора.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Получает перечислитель, который перечисляет члены коллекции.Gets an enumerator that can enumerate the members of the collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Копирует элементы коллекции в массив начиная с заданного индекса в целевом массиве.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count ICollection.Count ICollection.Count ICollection.Count

Возвращает количество элементов, содержащихся в коллекции.Gets the number of elements contained in the collection.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Возвращает значение, указывающее, является ли доступ к коллекции синхронизированным (потокобезопасным).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к коллекции.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Возвращает перечислитель, который осуществляет итерацию по коллекции.Returns an enumerator that iterates through a collection.

Методы расширения

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Преобразует IEnumerable для IQueryable.Converts an IEnumerable to an IQueryable.

Безопасность

SecurityPermission
для создания производного от TempFileCollection класса.for deriving from the TempFileCollection class. Значение запроса: InheritanceDemand; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Применяется к