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
属性
実装

クラス、メソッド、 AddFileおよびメソッドの使用例を次に示します。 AddExtension TempFileCollectionThe 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.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 '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. また、コンストラクターのオーバーロードを使用して、コレクションに追加されたファイルを指定する必要があるかどうAddExtensionかを示すこともできます。またはメソッドDeleteを使用するときに指定しない場合は、コレクションが破棄されたとき、またはメソッドが呼び出されたときに削除されます。 AddFileYou 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は、ファイル名拡張子ごとに一意のファイル名を1つだけ返します。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)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

セキュリティ

SecurityPermission
TempFileCollectionクラスから派生するために使用します。for deriving from the TempFileCollection class. 要求の値InheritanceDemand:、PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

適用対象