microsoft/winforms-designer-extensibility

How to transport build in types arrays?

Closed this issue · 1 comments

I see only ReadByteArray method for build in types.
Or we need to create a wrapper for each other type like this:

class StringIDPO : IDataPipeObject
{
    public string? String { get; private set; }

    public void ReadProperties(IDataPipeReader reader)
    {
        String = reader.ReadString(nameof(String));
    }

    public void WriteProperties(IDataPipeWriter writer)
    {
        writer.Write(nameof(String), String);
    }
}

?

Got it:

  protected override void ReadProperties(IDataPipeReader reader)
  {
      DSMemberNames = reader.ReadArray(nameof(DSMemberNames), (r) => r.ReadString()!);
  }

  protected override void WriteProperties(IDataPipeWriter writer)
  {
      writer.WriteArray(nameof(DSMemberNames), DSMemberNames, (w, s) => w.Write(s));
  }