你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IStateSerializer<T> 接口

定义

表示类型 T的自定义序列化程序。

public interface IStateSerializer<T>
type IStateSerializer<'T> = interface
Public Interface IStateSerializer(Of T)

类型参数

T

键入 进行序列化和反序列化。

示例

在此示例中,读取和写入重载的实现只需调用其对应的重载。 currentValue 和 baseValue 参数不由平台设置,应忽略。

class Order
{
    public byte Warehouse { get; set; }
    public short District { get; set; }
    public int Customer { get; set; }
    public long OrderNumber { get; set; }
}

class OrderSerializer : IStateSerializer<Order>
{
    void Write(Order value, BinaryWriter writer)
    {
        writer.Write(value.Warehouse);
        writer.Write(value.District);
        writer.Write(value.Customer);
        writer.Write(value.OrderNumber);
    }

    Order Read(BinaryReader reader)
    {
        Order value = new Order();

        value.Warehouse = reader.ReadByte();
        value.District = reader.ReadInt16();
        value.Customer = reader.ReadInt32();
        value.OrderNumber = reader.ReadInt64();

        return value;
    }

    void Write(Order currentValue, Order newValue, BinaryWriter writer)
    {
        this.Write(newValue, writer);
    }

    Order Read(Order baseValue, BinaryReader reader)
    {
        return this.Read(reader);
    }
}

注解

使用 TryAddStateSerializer<T>(IStateSerializer<T>) 注册自定义序列化程序。

方法

Read(BinaryReader)

将给定的 反 BinaryReader 序列化为 T

Read(T, BinaryReader)

将给定的 反 BinaryReader 序列化为 T

Write(T, BinaryWriter)

序列化值并将其写入给定 BinaryWriter的 。

Write(T, T, BinaryWriter)

序列化对象并将其写入给定 BinaryWriter的 。

适用于