public static TraceLoggingTypeInfo GetTypeInfoInstance(Type dataType, List <Type> recursionCheck) { TraceLoggingTypeInfo traceLoggingTypeInfo; if (dataType == typeof(int)) { traceLoggingTypeInfo = (TraceLoggingTypeInfo)TraceLoggingTypeInfo <int> .Instance; } else if (dataType == typeof(long)) { traceLoggingTypeInfo = (TraceLoggingTypeInfo)TraceLoggingTypeInfo <long> .Instance; } else if (dataType == typeof(string)) { traceLoggingTypeInfo = (TraceLoggingTypeInfo)TraceLoggingTypeInfo <string> .Instance; } else { traceLoggingTypeInfo = (TraceLoggingTypeInfo)Statics.GetDeclaredStaticMethod(typeof(TraceLoggingTypeInfo <>).MakeGenericType(dataType), "GetInstance").Invoke((object)null, new object[1] { (object)recursionCheck }); } return(traceLoggingTypeInfo); }
// Token: 0x060035F0 RID: 13808 RVA: 0x000CF524 File Offset: 0x000CD724 public static TraceLoggingTypeInfo GetTypeInfoInstance(Type dataType, List <Type> recursionCheck) { TraceLoggingTypeInfo result; if (dataType == typeof(int)) { result = TraceLoggingTypeInfo <int> .Instance; } else if (dataType == typeof(long)) { result = TraceLoggingTypeInfo <long> .Instance; } else if (dataType == typeof(string)) { result = TraceLoggingTypeInfo <string> .Instance; } else { MethodInfo declaredStaticMethod = Statics.GetDeclaredStaticMethod(typeof(TraceLoggingTypeInfo <>).MakeGenericType(new Type[] { dataType }), "GetInstance"); object obj = declaredStaticMethod.Invoke(null, new object[] { recursionCheck }); result = (TraceLoggingTypeInfo)obj; } return(result); }