MetricBase
using Microsoft.VisualBasic.CompilerServices;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
namespace Monitoring
{
public abstract class MetricBase
{
[CompilerGenerated]
private Dictionary<string, object> _CustomData;
public abstract string BucketName { get; }
public Dictionary<string, object> CustomData { get; set; }
public string CorrelationID {
get {
return GetValueOrDefault<string>("CorrelationID");
}
set {
CustomData["CorrelationID"] = value;
}
}
public int WorkspaceID {
get {
return GetValueOrDefault<int>("WorkspaceID");
}
set {
CustomData["WorkspaceID"] = value;
}
}
public string UnitOfMeasure {
get {
return GetValueOrDefault<string>("UnitOfMeasure");
}
set {
CustomData["UnitOfMeasure"] = value;
}
}
public string ImportApiVersion {
get {
return GetValueOrDefault<string>("ImportApiVersion");
}
set {
CustomData["ImportApiVersion"] = value;
}
}
public string RelativityVersion {
get {
return GetValueOrDefault<string>("RelativityVersion");
}
set {
CustomData["RelativityVersion"] = value;
}
}
public MetricBase()
{
CustomData = new Dictionary<string, object>();
}
protected T GetValueOrDefault<T>(string key)
{
object value = null;
if (!CustomData.TryGetValue(key, out value))
return default(T);
return Conversions.ToGenericParameter<T>(value);
}
}
}