예제 #1
0
        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);
        }