Пример #1
0
        public override void WriteData(PropertyValue value)
        {
            object?refVal   = value.ReferenceValue;
            bool   hasValue = refVal is not null;

            TraceLoggingDataCollector.AddScalar(hasValue);
            PropertyValue val = valueInfo.PropertyValueFactory(hasValue
                ? refVal
                : RuntimeHelpers.GetUninitializedObject(valueInfo.DataType));

            this.valueInfo.WriteData(val);
        }
Пример #2
0
        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);
        }