コード例 #1
0
        public static DataRetrievalResult TryGetData(
            EventData eventData,
            EventMetadata eventTelemetryMetadata,
            out EventTelemetryData eventTelemetryData)
        {
            Requires.NotNull(eventData, nameof(eventData));
            Requires.NotNull(eventTelemetryMetadata, nameof(eventTelemetryMetadata));
            eventTelemetryData = null;

            if (!EventMetadataKind.Equals(eventTelemetryMetadata.MetadataType, System.StringComparison.OrdinalIgnoreCase))
            {
                return(DataRetrievalResult.InvalidMetadataType(eventTelemetryMetadata.MetadataType, EventMetadataKind));
            }

            string eventName = eventTelemetryMetadata[EventNameMoniker];

            if (string.IsNullOrWhiteSpace(eventName))
            {
                DataRetrievalResult result = eventTelemetryMetadata.GetEventPropertyValue(eventData, EventNamePropertyMoniker, out eventName);
                if (result.Status != DataRetrievalStatus.Success)
                {
                    return(result);
                }
            }

            eventTelemetryData      = new EventTelemetryData();
            eventTelemetryData.Name = eventName;
            return(DataRetrievalResult.Success);
        }