public override void WriteData(PropertyValue value) { int bookmark = TraceLoggingDataCollector.BeginBufferedArray(); int count = 0; IEnumerable?enumerable = (IEnumerable?)value.ReferenceValue; if (enumerable != null) { foreach (object?element in enumerable) { this.elementInfo.WriteData(elementInfo.PropertyValueFactory(element)); count++; } } TraceLoggingDataCollector.EndBufferedArray(bookmark, count); }
public override void WriteData(TraceLoggingDataCollector collector, ref IterableType value) { int bookmark = collector.BeginBufferedArray(); int count = 0; if ((object)value != null) { using (IEnumerator <ElementType> enumerator = value.GetEnumerator()) { while (enumerator.MoveNext()) { ElementType current = enumerator.Current; this.elementInfo.WriteData(collector, ref current); ++count; } } } collector.EndBufferedArray(bookmark, count); }