private void WriteEmbeddedPointer <T>(NdrEmbeddedPointer <T> pointer, Action writer) { if (WriteReferent(pointer)) { _deferred_writes.Add(writer); } }
private string[] ReadStringArray(int[] refs, Func <string> reader) { string[] ret = new string[refs.Length]; for (int i = 0; i < refs.Length; ++i) { if (refs[i] == 0) { ret[i] = string.Empty; } else { int pos = i; _deferred_reads.Add(() => ret[pos] = reader()); } } return(ret); }