diff options
Diffstat (limited to 'src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/EnumerableTypeInfo.cs')
-rw-r--r-- | src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/EnumerableTypeInfo.cs | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/EnumerableTypeInfo.cs b/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/EnumerableTypeInfo.cs deleted file mode 100644 index 74a3fa27b2..0000000000 --- a/src/mscorlib/src/System/Diagnostics/Eventing/TraceLogging/EnumerableTypeInfo.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -using System; -using System.Collections; -using System.Collections.Generic; - -#if ES_BUILD_STANDALONE -namespace Microsoft.Diagnostics.Tracing -#else -namespace System.Diagnostics.Tracing -#endif -{ - internal sealed class EnumerableTypeInfo : TraceLoggingTypeInfo - { - private readonly TraceLoggingTypeInfo elementInfo; - - public EnumerableTypeInfo(Type type, TraceLoggingTypeInfo elementInfo) - : base(type) - { - this.elementInfo = elementInfo; - } - - public override void WriteMetadata( - TraceLoggingMetadataCollector collector, - string name, - EventFieldFormat format) - { - collector.BeginBufferedArray(); - this.elementInfo.WriteMetadata(collector, name, format); - collector.EndBufferedArray(); - } - - public override void WriteData(TraceLoggingDataCollector collector, PropertyValue value) - { - var bookmark = collector.BeginBufferedArray(); - - var count = 0; - IEnumerable enumerable = (IEnumerable)value.ReferenceValue; - if (enumerable != null) - { - foreach (var element in enumerable) - { - this.elementInfo.WriteData(collector, elementInfo.PropertyValueFactory(element)); - count++; - } - } - - collector.EndBufferedArray(bookmark, count); - } - - public override object GetData(object value) - { - var iterType = (IEnumerable)value; - List<object> serializedEnumerable = new List<object>(); - foreach (var element in iterType) - { - serializedEnumerable.Add(elementInfo.GetData(element)); - } - return serializedEnumerable.ToArray(); - } - } -} |