FileRecordSequence.ReadLogRecords Yöntem

Tanım

Dizideki kayıtların numaralandırılabilir bir koleksiyonunu döndürür. Bu yöntem devralınamaz.

public:
 virtual System::Collections::Generic::IEnumerable<System::IO::Log::LogRecord ^> ^ ReadLogRecords(System::IO::Log::SequenceNumber start, System::IO::Log::LogRecordEnumeratorType logRecordEnum);
public System.Collections.Generic.IEnumerable<System.IO.Log.LogRecord> ReadLogRecords(System.IO.Log.SequenceNumber start, System.IO.Log.LogRecordEnumeratorType logRecordEnum);
abstract member ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
override this.ReadLogRecords : System.IO.Log.SequenceNumber * System.IO.Log.LogRecordEnumeratorType -> seq<System.IO.Log.LogRecord>
Public Function ReadLogRecords (start As SequenceNumber, logRecordEnum As LogRecordEnumeratorType) As IEnumerable(Of LogRecord)

Parametreler

start
SequenceNumber

Okumanın başladığı ilk kaydın sıra numarası.

logRecordEnum
LogRecordEnumeratorType

Kayıtların bir dosyasından nasıl okunması gerektiğini (ileri veya geri) belirten geçerli LogRecordEnumeratorType bir LogRecordSequencedeğer.

Döndürülenler

Dizideki kayıtların numaralandırılabilir koleksiyonu.

Uygulamalar

Özel durumlar

Bir veya daha fazla bağımsız değişken aralık dışında.

Kayıt dizisi salt yazma erişimiyle açıldığından işlem gerçekleştirilemiyor.

Kayıt sırası bozuk.

-veya-

Kayıt, kayıt dizisinin uyumsuz bir sürümüyle yazıldı.

Numaralandırma sona erdi.

-veya-

Numaralandırma başlatılmadı. Bir çağrı MoveNext() yapılmalıdır.

yöntemi, dizi atıldıktan sonra çağrıldı.

Programın yürütülmesine devam etmek için yeterli bellek yok.

Örnekler

Aşağıdaki örnekte, günlük dizisindeki kayıtları okumak için bu yöntemi nasıl kullanabileceğiniz gösterilmektedir.

// Read the records added to the log.
    public void ReadRecords()
    {
        Encoding enc = Encoding.Unicode;

        Console.WriteLine();

        Console.WriteLine("Reading Log Records...");
        try
        {
            foreach (LogRecord record in this.sequence.ReadLogRecords(this.sequence.BaseSequenceNumber, LogRecordEnumeratorType.Next))
            {
                byte[] data = new byte[record.Data.Length];
                record.Data.Read(data, 0, (int)record.Data.Length);
                string mystr = enc.GetString(data);
                Console.WriteLine("    {0}", mystr);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message);
        }

        Console.WriteLine();
    }
' Read the records added to the log. 
    Public Sub ReadRecords()
        Dim enc As Encoding = Encoding.Unicode

        Console.WriteLine()

        Console.WriteLine("Reading Log Records...")
        Try
            For Each record In Me.sequence.ReadLogRecords(Me.sequence.BaseSequenceNumber, LogRecordEnumeratorType.Next)
                Dim data(record.Data.Length - 1) As Byte
                record.Data.Read(data, 0, CInt(Fix(record.Data.Length)))
                Dim mystr As String = enc.GetString(data)
                Console.WriteLine("    {0}", mystr)
            Next record
        Catch e As Exception
            Console.WriteLine("Exception {0} {1}", e.GetType(), e.Message)
        End Try

        Console.WriteLine()
    End Sub

Açıklamalar

Bu yöntem, dizideki kayıtların numaralandırılabilir bir koleksiyonunu döndürür. Numaralandırılmış kayıtların sırası parametrenin logRecordEnum değerine bağlıdır.

Şunlara uygulanır