Создание класса Writer

В следующем примере создается модуль записи, который представляет собой класс, преобразующий данные одного типа в массив байтов, который затем можно передать в поток.

Imports System
Imports System.IO

Public Class MyWriter
    Private s As Stream

    Public Sub New(stream As Stream)
        s = stream
    End Sub

    Public Sub WriteDouble(myData As Double)
        Dim b() As Byte = BitConverter.GetBytes(myData)
        ' GetBytes is a binary representation of a double data type.
        s.Write(b, 0, b.Length)
    End Sub

    Public Sub Close()
        s.Close()
    End Sub
End Class
using System;
using System.IO;

public class MyWriter
{
    private Stream s;

    public MyWriter(Stream stream)
    {
        s = stream;
    }

    public void WriteDouble(double myData)
    {
        byte[] b = BitConverter.GetBytes(myData);
        // GetBytes is a binary representation of a double data type.
        s.Write(b, 0, b.Length);
    }

    public void Close()
    {
        s.Close();
    }
}
using namespace System;
using namespace System::IO;

public ref class MyWriter
{
private:
    Stream^ s;

public:
    MyWriter(Stream^ stream)
    {
        s = stream;
    }

    void WriteDouble(double myData)
    {
        array<Byte>^ b = BitConverter::GetBytes(myData);
        // GetBytes is a binary representation of a double data type.
        s->Write(b, 0, b->Length);
    }

    void Close()
    {
        s->Close();
    }
};

В этом примере создается класс с конструктором, аргументом которого является поток. Поэтому есть возможность в дальнейшем обращаться к любым необходимым методам Write. Необходимо преобразовать данные, предназначенные для записи, в массив byte[]. После получения массива byte[] метод Write записывает его в поток s.

См. также

Основные понятия

Основы файлового ввода-вывода

Составление потоков